微軟在數據世界有一項棘手的工作。一方面,它正在使用的內部部署SQL Server關系數據庫業務有25年的歷史,該公司需要保持這個有利可圖的業務的相關性和穩定。另一方面,隨著公司向云端轉移,它需要提供關系型OLTP、數據倉庫、NoSQL、大數據和機器學習技術。它需要讓它們成為可信的產品,同數據和分析世界中的許多創業企業競爭對手的產品相比具備競爭力。
微軟還需要讓所有這些技術能夠被開發人員使用,包括其.NET開發人員的核心成員,以及那些使用Java、Node/JavaScript、Python和一大堆其他編程平臺的人員。這不是一件容易的事;相反,它是一項需要平衡和精細的工作。這兩個特點都在上周加利福尼亞州圣荷西的Strata + Hadoop World活動上體現出來了,微軟當時發布了一些和數據相關的公告。
微軟在Strata上宣布的事情是否能應對該公司面臨的挑戰呢?讓我們看看這些內容,看看我們是否能夠做出一些判斷。
Hortonworks通過HDInsight實現云優先戰略
首先,讓我們來看看HDInsight,這是微軟的云Hadoop/Spark大數據核心產品。首先,微軟宣布,HDInsight所基于的Hadoop的Hortonworks Data Platform(HDP)的新版本現在首先面向HDInsight推出,然后Hortonworks才會將其發布到Hadoop市場上。從現在開始,隨著HDP 2.6被并入HDInsight,這和之前HDInsight使用HDP的版本,背后有一兩個版本的更新的情況有了巨大的變化。
通過合并HDP 2.6,HDInsight現在還將包括Spark 2.1。由于HDInsight適用的99.9%的正常運行時間服務水平協議(SLA),微軟表示它提供的唯一的Spark 2.1服務也具備該級別的正常運行時間保證。為了很好地測量,HDInsight 的這個版本中也包含Apache Kafka,還有Spark Structured Streaming/Kafka集成。事實上,微軟也正在提供Spark與其自己的Azure Event Hubs流平臺之間的集成。
安全性和筆記本
構建在HDP 2.6上的HDInsight意味著Apache Ranger基于角色的訪問控制現在擴展到Hive LLAP("Live Long and Process")和Spark。受到數據科學人群歡迎的Apache Zeppelin筆記本也隨之而來。LLAP--有時被微軟稱為"交互式Hive",在性能方面與Spark SQL相比具有競爭力,而微軟也為此付出了努力。因此,微軟希望使用Zeppelin的人們能夠訪問這兩個SQL-on-Hadoop平臺的想法就一點也不奇怪了。
自從收購了Revolution Analytics之后,微軟也是研發冠軍。因此,為了實現這個目標,Jupyter--另一個主要的數據科學筆記本平臺,現在將訪問那些集群配置包含的R Server for HDInsight版本。
外部集成
在Zeppelin/Jupyter筆記本的世界之外還有很多開發人員,而微軟也需要爭取他們。該公司也不會令他們失望,因為它現在為自己的Visual Studio集成開發環境(IDE)以及開源IDE Eclipse和IntelliJ提供HDInsight工具。
第三方產品怎么樣?現在,Dataiku和H20.ai自己可以跟著HDInsight集群的自動配置進行自動配置,加入了Cask、StreamSets和我的雇主Datameer的支持與HDInsight的這種集成的供應商俱樂部。除此之外,微軟Power BI,以及競爭對手Tableau、Qlik和SAP Lumira現在支持查詢客戶端以對抗Spark on HDInsight。
到目前為止的情況
還有一個公告要討論,但首先讓我們先看看另一個我們想要強調的微軟公告。微軟繼續進行Hadoop平臺現代化,現在已經超出了內部部署可用性;企業級SLA和安全性是其中的一部分;所以對于Spark、對于Hive LLAP和R是數據科學筆記本支持;開發工具繼續享受更緊密的集成;第三方數據科學和商務智能工具也是如此。
這意味著大數據純粹主義者、數據科學家、企業IT和企業開發人員群體都在適應。這里有很多技術"亞文化"要匯集、管理,并在某種意義上匯集在一起。這正是微軟為了在所有方面取得進展而需要做的事情。
SQL
但是數據庫世界呢?NoSQL和關系型數據庫并存?記住,它們也在名單上。首先,微軟為即將到來的SQL Server版本(現在被稱為"vNext")發布了社區技術預覽版(CTP)1.4。這是一個能夠在Linux和Windows上運行的版本,CTP適用于這兩個平臺。而且不要忘了SQL Server包括像PolyBase和R Server這樣的技術,將其綁定到大數據和數據科學世界之中。
這些跨越技術、跨越代際的聯系也是非常重要的,因為微軟需要提供進入其整個數據堆棧的入口點,不管某一位專家可能專門精于該堆棧的哪一部分。
還有NoSQL
本著這種精神,微軟已經在Spark(HDInsight以及其他版本)和自己的NoSQL數據庫DocumentDB之間創建了本地集成。 Spark Connector for DocumentDB用一種不平凡的方式實現了這一點:連接器支持"謂語下推",這意味著當Spark查詢DocumentDB時,它也會將執行該查詢的工作委托給DocDB本身。這種做法最大限度地提高了效率,并最大限度地減少了數據移動。我看到過Spark-to-DocDB查詢在具備和不具備謂語下推情況下運行的比較,相信我,這種做法也有助于提高性能。
DocumentDB可能是微軟自己的NoSQL數據庫,但Spark連接可以打開它。它與MongoDB API的兼容性也是如此,允許它作為該產品的替代品,與使用它的應用程序兼容。鑒于Mongo在開發人員中普及情況,此舉可以被視為另一個開發人員推廣計劃,并且作為微軟服務于盡可能多的數據和分析生態系統的另一種表現形式。
所有好的行為都會受到懲罰?
如果在所有這一切都有一個令人擔憂的部分,這是微軟還能用什么再來一次漂亮的返場??缙脚_、技術和數據訪問范式的這種程度的增強是否可持續?甚至這些做法是否是明智的?
作為一個在職業生涯中絕大部分時間里都在和微軟打交道并觀察這家公司的人,我想說:我并沒有看到這家公司在做現在這些事情上全力以赴,它創造了一個循環,我認為這種循環是良性的。
當然,公司會很好地評估這是否繼續是最好的前進方向,以避免倦怠或攤子鋪得太大。不過,現在這種方法不僅是有效,而且還激勵了合作伙伴、第三方ISV,而且最重要的是激勵了微軟內部。進步正在帶來更多的進步,這句古老的諺語正在發揮作用。微軟現在最不應該做的事情就是拔下插頭。