全心全意為人民幣服務之DataBricks為什麼開源Delta Lake?

最近的Spark Summit上,大紅大紫的開源項目Spark背後的獨角獸公司DataBricks宣佈開源了他們的Delta Lake。這可能是大數據圈子裡近期最大的事情了。有些老朋友想讓我寫篇文章聊聊我怎麼看這個開源的,但是因為最近一直忙於工作,在中國美國兩邊跑,倒時差倒的天昏地暗的,也就一直拖了又拖。

從某種程度上來說,大數據這兩年已經過氣了,不是媒體資本追逐的對象了。很多媒體都開始轉行寫AI。極客邦下屬的InfoQ也把手下的若干大數據微信群都轉成了AI前線。飛總也幾乎不寫大數據了。但是數據的處理分析,還是剛需。這塊市場並不以熱點為轉移。

所以DataBricks在這個點開源Data Lake,是因為他們意識到需求一直都存在,而圈地是很重要的。或者說,如果現在不出來圈地的話,可能接下來會影響他們的賺錢事業了。畢竟,餅大了才能你好我好大家好。這話聽起來有點繞口,我們還是一點點來拆解一下。

全心全意為人民幣服務之DataBricks為什麼開源Delta Lake?


DataBricks主要是伯克利AMP Lab做Spark的人最先創立的一家集雲計算,大數據,AI等諸多概念為一體的公司。它的核心資產和對開源社區的主要貢獻是Spark。Spark目前已經取代Hadoop MapReduce成為了大數據默認的計算引擎了。DataBricks估值25億,最新一輪領投裡既有傳統VC,也有微軟這樣的IT公司。

DataBricks這個公司的盈利模式主要還是它自營的Cloud和OEM產品。除去Notebook這種東西以外,DataBricks最核心的資產是它的runtime。這個東西號稱可以100%兼容社區Spark,同時提供額外的功能和up to 5x的加速。DataBricks和微軟的Azure雲進行了深度整合。某種程度上微軟對DataBricks下了很大血本。但是兩者之間的合作協議到底誰賺誰虧,據說只有等到DataBricks上市那天,協議大白於天下的時候才能知道了。

在接下去寫之前,請容我裝個逼。從某種程度上說,飛總聊IT是所有寫大數據的公眾號裡最牛逼的自媒體。我想這樣說並不為過。因為大數據而關注我的號的不乏中國眾多公司做大數據的初中高層人員。DataBricks裡也不乏關注我公眾號的對象。這種關注度的好處是我可以和很多公司相對比較高層的人有一定程度的私下聯繫,所以我能更好的判斷公司的某些特質。

由於工作的關係,我和DataBricks有更深的接觸。這是不是一家偉大的公司,我也說不好。但是起碼從股東角度來說,這是一家頗為合格的公司。開源的DataBricks本質不是活雷鋒。全心全意為人民服務不是DataBricks的目標。全心全意為人民幣服務是DataBricks的目標。當然美刀也可以。

全心全意為人民幣服務之DataBricks為什麼開源Delta Lake?


DataBricks給我的印象是一家非常實際的公司。大家合作就是要賺錢,偉大的事情要做,但是錢也要賺。我是挺認同這個理念的。連自己都養不活了又怎麼去接濟天下呢。所以我們可以看到,儘管Spark是一個很偉大的產品,DataBricks還是有很多保留的。其內部人員分配上據說在做開源的只有1/5。數字從哪裡來的,我不會告訴你,數字準確不準確,我也不知道。

但是現在有一個很尷尬的事情。Spark本身作為一個計算引擎是沒有什麼粘性的東西。當初Spark可以幹翻MapReduce,未來XXX是不是也可以幹翻Spark,不好說。而Spark的用戶們缺乏了一個好的存儲,來幫助他們解決一些很重要的問題。

DataBricks顯然很早就意識到了這個問題。同樣意識到這個問題的還有一些經常和企業打交道的廠商,名字我就不點了。DataBricks的Delta Lake作為runtime的一部分,更是有很長的歷史了。我們摘兩句官宣裡面的話來描述一下Delta Lake是幹什麼的:“Delta Lake delivers reliability by managing transactions across streaming and batch data and across multiple simultaneous readers and writers. Delta Lakes can be easily plugged into any Apache Spark job as a data source, enabling organizations to gain data reliability with minimal change to their data architectures. ”

管理事務,統一流和批,元數據的檢驗,多版本管理等。這些東西對一個做數據庫的人來說真不是什麼新鮮玩意。只有大數據的圈子裡才很傻逼這些都不是問題,一直都沒什麼動靜。

但是用戶剛需遲早會凸現出來,開源社區已經有一些動靜了,儘管這些動靜看起來和Delta Lake比起來很幼稚落後。但是我們不難想象,如果說這個方向被一個和DataBricks無關的項目所主導,那會有什麼後果?後果就是會影響和威脅到Spark在計算引擎層面的霸主地位。這恐怕是DataBricks不願意看到的。

所以DataBricks開源了Delta Lake。當然DataBricks是一個商業上非常成熟的公司。開源出來的產品,肯定是比市面上其他的開源,以及某些不開源的解決方案要好。但是和DataBricks自己runtime裡面帶的那個非開源版本比起來,當然是不如的。這在Spark裡已經很好的體現了差異化競爭。

這樣下去,無論是剛由苗頭的開源項目,還是已經存在一段時間的非開源解決方案,多少都有點尷尬了啊。我們雖然不能說DataBricks過去,寸草不生,但是最低限度,這是個汽車,其他很多的連自行車都看不上。當然,如果你想豪車的話,還得花錢買DataBricks的runtime,才能跑的爽。

所以Delta Lake在這個點開源出來,並且只開源了runtime裡面一部分功能,夠用就好的開源,是多方面糾纏的結果。開源以後對於鞏固Spark的統治地位,扼殺在搖籃裡的潛在對手,把餅做大的同時更好的引流到DataBricks runtime上都有長足的意義。

本質來說,開源還是不開源都是商業行為決定的。DataBricks肯定不是活雷鋒,但是廣大吃瓜群眾也肯定會因為這個開源受益。倒黴的是誰,大家可以自己想想。總而言之,社區賺到了,DataBricks也賺到了。全心全意為人民幣服務的同時也服務了人民,其實是挺好的一件事情。

也有人拿DataBricks的Apache V2開源協議和最近其他幾家開源公司改協議做對比。看起來DataBricks高大上了很多。但是我覺得啊,在商言商,DataBricks比其他公司更會做生意。如果非要往造神方面去扯,就有點遠了。但是大家不要誤會了,我並沒有批評DataBricks的意思。一家公司能夠在社區服務和公司賺錢之間兼顧到這個程度,是非常了不起的事情。


分享到:


相關文章: