百億估值的Databricks,到底是做什么的?
在Google 中輸入“Databricks”,看到的前幾個(gè)建議條目很可能是“IPO”、“工作機(jī)會(huì)”和“估值”。這足以表明大家對(duì)這個(gè)大數(shù)據(jù)獨(dú)角獸的十足興趣——如同科技圈對(duì)這幾年的Robinhood、幾年前的Uber和 Airbnb廣泛的熱情。在Google里輸入Databricks然而,與共享經(jīng)濟(jì)和金融科技不同,Databricks的產(chǎn)品和核心業(yè)務(wù),仍然只有一小部分的VC、數(shù)據(jù)科學(xué)家和工程師有所了解。這篇文章旨在幫助更多的人——無(wú)論是不是業(yè)內(nèi)人士——理解Databricks,這個(gè)相對(duì)低調(diào)的獨(dú)角獸。因此,我不會(huì)上來(lái)對(duì)Spark和Delta之類(lèi)的技術(shù)大聊特聊,而是先快速的縱覽大數(shù)據(jù)這個(gè)獨(dú)特領(lǐng)域,再解釋Databricks是如何融入其中,前景又如何。
01
30秒的“大數(shù)據(jù)”概述
盡管大數(shù)據(jù)市場(chǎng)十分龐大,是一個(gè)千億美元、年同比增長(zhǎng)達(dá)兩位數(shù)的吸金獸,但它最終歸結(jié)為三個(gè)關(guān)鍵問(wèn)題、兩個(gè)基礎(chǔ)和一個(gè)終極目標(biāo)。三個(gè)關(guān)鍵問(wèn)題
- 要處理什么數(shù)據(jù)?(系統(tǒng)生成的日志,或是商用數(shù)據(jù)集,或是用戶數(shù)據(jù),等等)
- 如何使用數(shù)據(jù)?(商業(yè)智能BI,商業(yè)分析,機(jī)器學(xué)習(xí),圖表,等等)
- 如何把數(shù)據(jù)從源頭向下游匯集和轉(zhuǎn)化?(ETL數(shù)據(jù)管道,以及各類(lèi)變種)
兩個(gè)基礎(chǔ)
- 存儲(chǔ)(數(shù)據(jù)存放在物理磁盤(pán)上。無(wú)論是在本地的數(shù)據(jù)中心里,還是云上)
- 計(jì)算(租用一個(gè)服務(wù)器來(lái)對(duì)數(shù)據(jù)進(jìn)行計(jì)算)
終極目標(biāo)
每家擁有數(shù)據(jù)的公司,希望實(shí)現(xiàn)的一個(gè)終極目標(biāo)是:搭建一個(gè)自動(dòng)化系統(tǒng),將原始數(shù)據(jù)集源源不斷地轉(zhuǎn)化為業(yè)務(wù)價(jià)值。換句話說(shuō),一個(gè)自動(dòng)將“數(shù)據(jù)變現(xiàn)”的系統(tǒng)。在互聯(lián)網(wǎng)風(fēng)靡之前,我們的大部分?jǐn)?shù)據(jù)還保存在 Excel 電子表格中時(shí),這并不難:寫(xiě)幾個(gè)VBScript就足夠了?,F(xiàn)在,我們的每一個(gè)YouTube視頻觀看事件——開(kāi)始、暫停、跳過(guò)廣告等,都被收集、解析、聚合,最終變成某個(gè)高管屏幕前的柱狀圖。而這一切,很可能時(shí)刻都在發(fā)生。殊途同歸
雖然最終目標(biāo)類(lèi)似,但有可以實(shí)現(xiàn)的方式卻十分之多。每個(gè)在大數(shù)據(jù)領(lǐng)域運(yùn)營(yíng)的 SaaS 或開(kāi)源公司,都致力于這條“數(shù)據(jù)流水線”的一個(gè)或多個(gè)部分。雖然云巨頭(AWS、Azure、GCP)在嘗試構(gòu)建一體化的服務(wù)和生態(tài),但擁有創(chuàng)造性解決方案的小型供應(yīng)商仍有足夠的空間找到立足點(diǎn),并成長(zhǎng)并成為巨頭。Databricks、Snowflake就是典型的例子。如果想了解當(dāng)今的大數(shù)據(jù)領(lǐng)域是怎樣一個(gè)龐然大物,Matt Turck的年度大數(shù)據(jù)版圖很有參考價(jià)值。在過(guò)去的幾年里,不僅每個(gè)類(lèi)別里的公司數(shù)量都有所增長(zhǎng),新的類(lèi)別也在不斷涌現(xiàn)。02
話說(shuō)回來(lái),Databricks到底是做什么的?
如果你對(duì)Databricks官方主頁(yè)上的標(biāo)語(yǔ)(“一個(gè) Lakehouse 平臺(tái),承載所有數(shù)據(jù)、分析和人工智能”)感到困惑,那你一定不是唯一一個(gè)。但有了上面的概述,讓我們看看能否從這個(gè)標(biāo)語(yǔ)得到一些啟發(fā),來(lái)了解Databricks。從本質(zhì)上講,Databricks是一家計(jì)算公司,通過(guò)解決三個(gè)關(guān)鍵問(wèn)題中的以下兩個(gè),提出了一種搭建數(shù)據(jù)流水線的低代碼解決方案:
- 如何使用數(shù)據(jù)?
- 如何把數(shù)據(jù)從源頭向下游匯集和轉(zhuǎn)化?
想象一下,如果你被派了一個(gè)任務(wù),要用一堆電子元件搭一個(gè)FM收音機(jī)——如果你和我一樣,幾乎沒(méi)有任何硬件方面的經(jīng)驗(yàn),這聽(tīng)上去根本無(wú)從下手。
用電子元件造一個(gè)FM收音機(jī)? (左: Youtube - GreatScott!, 右: Wikipedia)這種無(wú)從下手的感覺(jué),正是許多工程師在使用低抽象工具構(gòu)建“數(shù)據(jù)流水線”時(shí)所感受到的:從AWS云服務(wù)租用虛擬機(jī),編寫(xiě)Python腳本,對(duì)數(shù)據(jù)集進(jìn)行計(jì)算。不一會(huì)兒,困難就會(huì)接踵而至:如何協(xié)調(diào)多臺(tái)機(jī)器使得計(jì)算能夠并行?一個(gè)虛擬機(jī)計(jì)算了大半,突然斷線了,怎么處理?
回到Arduino,之所以它使得原型設(shè)計(jì)、構(gòu)建變得如此容易,歸根究底,是因?yàn)槠洳](méi)有從開(kāi)關(guān)、斷路器這些基礎(chǔ)元件出發(fā),而是提供了三個(gè)重要的組件,來(lái)吸引你我一樣的非硬件工程師:1. 一種更容易調(diào)度Arduino硬件的高抽象語(yǔ)言。(比如,基本如“從一個(gè)數(shù)據(jù)針讀取數(shù)據(jù)”的簡(jiǎn)單操作,用C或者C 寫(xiě),工作量不小。而在Arduino平臺(tái)上,這只用調(diào)用一個(gè)函數(shù)digitalRead(pin)就行了)。2. 一個(gè)架構(gòu)在面包板上的硬件生態(tài)。每一個(gè)模塊都可以毫不費(fèi)力地插入拔出,方便快速迭代。3. 一套可行的、從Arduino原型到可售賣(mài)版本的轉(zhuǎn)化流程。
Arduino的快速迭代組成部分
假如你認(rèn)同Arduino為硬件開(kāi)發(fā)帶來(lái)的革新,那么Databricks的作用很好理解——它同樣帶來(lái)了三個(gè)核心組件,只不過(guò)是針對(duì)大數(shù)據(jù)運(yùn)算:1. Apache Spark:一個(gè)開(kāi)源引擎,通過(guò)高抽象語(yǔ)言,極大地降低了分布式計(jì)算的門(mén)檻。設(shè)想一下,現(xiàn)在我們手頭有1個(gè)PB的數(shù)據(jù),分布在1000個(gè)機(jī)器組成的集群上,現(xiàn)在需要把每條數(shù)據(jù)里的某個(gè)值乘以2,并且處理好過(guò)程中任何機(jī)器斷線造成的結(jié)果丟失。用Spark的Python接口來(lái)寫(xiě),只需要一行:
.map(lambda x: x*2)
這和在單個(gè)機(jī)器上對(duì)一個(gè)數(shù)組進(jìn)行操作完全一樣——這種便利背后,Spark封裝了所有與機(jī)器集群打交道的復(fù)雜度,讓用戶可以用他們熟悉的Python、Scala、SQL語(yǔ)言發(fā)布命令。Databricks的創(chuàng)始人們——用CEO Ali Ghodsi的自嘲來(lái)說(shuō),一群“伯克利嬉皮士”——是Spark框架的始作俑者。這些大數(shù)據(jù)嬉皮士們?cè)诜植际接?jì)算世界里是舉足輕重的人物。2. 數(shù)據(jù)筆記本:一個(gè)即時(shí)交互、反饋迅速的數(shù)據(jù)沙盒。把這個(gè)筆記本想象成Arduino的面包板,插上不同的組件,可以快速獲得功能上的反饋。在數(shù)據(jù)筆記本中,用戶可以在每一個(gè)“單元格”里跑幾行代碼,實(shí)現(xiàn)一個(gè)小功能,并實(shí)時(shí)給出計(jì)算結(jié)果。?一個(gè)數(shù)據(jù)筆記本,包含三個(gè)單元格,以及相應(yīng)的運(yùn)算結(jié)果數(shù)據(jù)筆記本并不是Databricks特有的功能。事實(shí)上,這是數(shù)據(jù)科學(xué)家和分析師最常用的工具之一,Jupyter Notebook可以說(shuō)是最早、最知名的提供商。然而,Spark使得Databricks的數(shù)據(jù)筆記本獲得了超能力:每一個(gè)數(shù)據(jù)筆記本都可以連接上數(shù)量巨大的服務(wù)器集群,并且通過(guò)Spark對(duì)大量數(shù)據(jù)做并行計(jì)算。這是單個(gè)機(jī)器上的數(shù)據(jù)筆記本遠(yuǎn)遠(yuǎn)無(wú)法達(dá)到的。從工程上來(lái)說(shuō),將數(shù)據(jù)筆記本對(duì)接上大量的計(jì)算資源,并不是那么容易的事。這也是Databricks的主要用戶們(數(shù)據(jù)工程師和分析師)厭于完成的繁雜工序。在許多公司里,這些人肩負(fù)著達(dá)成“最終目標(biāo)”的使命,而他們正如同Arduino的使用者一樣,在開(kāi)始搭建數(shù)據(jù)流水線時(shí),需要不斷地試錯(cuò)、迭代,無(wú)論是清洗數(shù)據(jù),還是訓(xùn)練一個(gè)機(jī)器學(xué)習(xí)模型。Databricks在合適的時(shí)機(jī)出現(xiàn),通過(guò)這個(gè)獲得了超能力的筆記本,讓搭建過(guò)程變得十分便捷、迅速。如果讀過(guò)我之前一篇“無(wú)代碼、低代碼”文章,你或許記得低代碼產(chǎn)品的核心價(jià)值:將工程師們從低價(jià)值的勞動(dòng)中解放出來(lái)。Databricks通過(guò)這個(gè)上手即用、高抽象的數(shù)據(jù)筆記本,很好地闡述了這樣一個(gè)低代碼故事。3. 任務(wù)集:從開(kāi)發(fā)到生產(chǎn)的無(wú)縫銜接。現(xiàn)在我們有一個(gè)筆記本,其中包含一堆單元格,實(shí)現(xiàn)了一個(gè)初步的數(shù)據(jù)流水線,接下來(lái)呢?我們自然不想每次有新的數(shù)據(jù)進(jìn)來(lái),都需要手動(dòng)地一個(gè)個(gè)單元格跑一遍。另外,在開(kāi)發(fā)過(guò)程中,為了加快運(yùn)算速度和降低成本,我們一般只會(huì)采用數(shù)據(jù)集的部分(一個(gè)樣本),而非整個(gè)數(shù)據(jù)集。Databricks的解決方案,“任務(wù)集”,非常方便:每一個(gè)任務(wù)對(duì)應(yīng)著一個(gè)筆記本(實(shí)現(xiàn)著一個(gè)完整功能),用戶們可以指定運(yùn)行頻率、機(jī)器數(shù)量上限,每隔一段時(shí)間自動(dòng)運(yùn)行筆記本中的所有單元格,完成對(duì)完整數(shù)據(jù)集的計(jì)算。對(duì)已經(jīng)有一個(gè)基于筆記本的流水線來(lái)說(shuō),從開(kāi)發(fā)環(huán)境到生產(chǎn)環(huán)境,幾乎只需要按幾個(gè)按鈕。這全都仰仗于Spark帶來(lái)的便利:無(wú)論是幾個(gè)機(jī)器上1GB的數(shù)據(jù),還是幾千機(jī)器上數(shù)十PB的數(shù)據(jù),跑的都是同樣一套代碼,幾乎無(wú)需變動(dòng)。
03
Databricks如何賺錢(qián)?歸根究底,Databricks 是一家提供“計(jì)算”的公司。與該類(lèi)別的其他公司一樣,它通過(guò)租出服務(wù)器的計(jì)算資源來(lái)賺錢(qián)。
值得注意的是,Databricks并不真的擁有這些服務(wù)器。相反,其整個(gè)系統(tǒng)建立在主要的云提供商的基礎(chǔ)服務(wù)上(AWS、Azure、GCP)。對(duì)Databricks用戶來(lái)說(shuō),他們的賬單主要分為兩部分:常規(guī)的服務(wù)器租用成本(由底層云提供商收?。约癉atabricks在這些服務(wù)器上“附加”的功能費(fèi)用,如數(shù)據(jù)筆記本和任務(wù)集。這兩個(gè)成本都是按小時(shí)收費(fèi)的——常見(jiàn)的按用量收費(fèi)方式。Databricks并不是唯一一家站在“云巨頭”肩膀上的公司。他們的另一位知名競(jìng)爭(zhēng)對(duì)手,Snowflake,也采用了類(lèi)似的架構(gòu)。Snowflake好用的云數(shù)據(jù)倉(cāng)庫(kù),底層所依賴(lài)的基礎(chǔ)服務(wù),與Databricks非常相似。那么,工程師們是否可以使用相同的構(gòu)建模塊(例如 AWS EC2 和 S3),來(lái)自己搭一個(gè)“內(nèi)部版本的Databricks”,來(lái)避免給Databricks交錢(qián),降低成本?當(dāng)然可能——但很可能不值得。至少,在這家公司達(dá)到一定規(guī)模之前都不值得?;氐轿覀冴P(guān)于全代碼、低代碼的討論,“可以做”不代表“應(yīng)該做”。Databricks提供的集群自動(dòng)休眠、共享和權(quán)限管理等功能,都需要很多工程資源來(lái)搭建,而這些工程資源,可以用到對(duì)一個(gè)公司更有價(jià)值、更核心的地方。
04
"一個(gè)Lakehouse平臺(tái),承載所有數(shù)據(jù)、分析和人工智能"讀到現(xiàn)在,希望這個(gè)標(biāo)語(yǔ)開(kāi)始變得更有意義一些(除了Lakehouse部分)。Databricks試圖提供完整的“數(shù)據(jù)流水線”方案——這意味著更多需要處理的數(shù)據(jù)、更多跑數(shù)據(jù)的機(jī)器、更多的收入。當(dāng)然,Databricks的用戶愿意為平臺(tái)的解放出來(lái)的生產(chǎn)力付費(fèi)。Databricks的產(chǎn)品規(guī)劃,很清晰地告訴我們,它不想局限于一家提供“數(shù)據(jù)筆記本”的公司(這是很多人現(xiàn)在的認(rèn)識(shí))。這是因?yàn)?,盡管數(shù)據(jù)科學(xué)家和分析師們喜歡這些強(qiáng)大的數(shù)據(jù)筆記本,不介意為之付出“低代碼溢價(jià)”,數(shù)據(jù)工程師們卻并不總這么想。他們的工作更底層,負(fù)責(zé)數(shù)據(jù)接入、基礎(chǔ)架構(gòu)、效率提升。這些工程師們對(duì)靈活度的要求很高,并且完全不介意多寫(xiě)一些代碼,或是自己搭方案。數(shù)據(jù)流水線的人手、技術(shù)分布在“數(shù)據(jù)流水線”上,這些數(shù)據(jù)工程師們往往占據(jù)上游,也是運(yùn)算量、成本極大的一個(gè)環(huán)節(jié)(換句話說(shuō),重要的收入來(lái)源)。為了贏得他們的青睞,Databricks采用的策略是擁抱開(kāi)源,尤其是即Spark之后,推出了Delta Lake——一個(gè)開(kāi)源的數(shù)據(jù)存儲(chǔ)方案(這也是Lakehouse的名字來(lái)源)。開(kāi)源的方案給了這些工程師們所需的自由度,使得他們能夠更可預(yù)期地掌握、挪動(dòng)數(shù)據(jù)。Delta的開(kāi)源,意味著任何人都可以在其方案里使用優(yōu)秀的“.delta”存儲(chǔ)格式,但是這在Databricks的數(shù)據(jù)本里,有著最為方便的原生支持。與新的功能,比如”Live Table“一起,Databricks平臺(tái)已經(jīng)開(kāi)始贏得一些硬核數(shù)據(jù)工程師的青睞。從長(zhǎng)遠(yuǎn)來(lái)看,能讓所有與數(shù)據(jù)打交道的人們(數(shù)據(jù)工程師、數(shù)據(jù)科學(xué)家、分析師)在同一個(gè)平臺(tái)上協(xié)作,有著巨大的價(jià)值。每一方都可以有完整的視圖、上下游語(yǔ)境,讓開(kāi)發(fā)”數(shù)據(jù)流水線“的過(guò)程快上許多。Databricks想讓這些人都住在同一幢”Lakehouse“里。任重而道遠(yuǎn),工程仍是進(jìn)行時(shí)。但對(duì)這家八歲的公司來(lái)說(shuō),進(jìn)展迅速,未來(lái)可期。
更新通知:硅谷成長(zhǎng)攻略作者"大羊洋"的所有SaaS相關(guān)文章將同步發(fā)到《互聯(lián)》中英雙語(yǔ)電子周刊(interconnected.blog)?!痘ヂ?lián)》通過(guò)分析創(chuàng)建者(企業(yè)家,工程師)、運(yùn)營(yíng)者(企業(yè)經(jīng)理)、投資者(資本家)和監(jiān)管者(政客和政府官員),來(lái)分析各個(gè)行業(yè)和思考宏觀趨勢(shì)。創(chuàng)始人Kevin Xu現(xiàn)任Github國(guó)際擴(kuò)張戰(zhàn)略高級(jí)主管。
參考:
“如何對(duì)云計(jì)算征稅?”:https://interconnected.blog/how-do-we-tax-cloud-computing/年度大數(shù)據(jù)版圖:http://46eybw2v1nh52oe80d3bi91u-wpengine.netdna-ssl.com/wp-content/uploads/2020/09/2020-Data-and-AI-Landscape-Matt-Turck-at-FirstMark-v1.pdf