少有賽道像當(dāng)前中國數(shù)據(jù)庫那樣“糾結(jié)”:
一方面,迎著時代的風(fēng),數(shù)據(jù)庫的發(fā)展如火如荼。2020年4月,數(shù)據(jù)被正式列為與土地、勞動力、資本和技術(shù)并列的“第五要素”,盡顯重要性的同時,也成功帶動數(shù)據(jù)庫產(chǎn)業(yè)水漲船高,迎來鼎盛繁榮。據(jù)艾瑞數(shù)據(jù)統(tǒng)計,2020年中國數(shù)據(jù)庫市場總規(guī)模達(dá)247.1億元,同比增長16.2%。未來三年預(yù)計將繼續(xù)保持高增長,并且多類型數(shù)據(jù)庫將百花齊放。
另一方面,數(shù)據(jù)庫的火熱發(fā)展沒能點燃資本的熱情。幾乎所有投資人和工程師都表態(tài)“愿意等鐵杵磨針”,因為他們心知肚明,數(shù)據(jù)庫與操作系統(tǒng)、中間件是計算機的三大基礎(chǔ)軟件,從研發(fā)難度來講,如果說操作系統(tǒng)是冰山上露出來的95%,那么數(shù)據(jù)庫就是隱藏在水下冰山的5%,看似相對容易,但沒有足夠的實力,根本觸不到隱藏的冰山一角,也就生產(chǎn)不出好的產(chǎn)品。
1989年,在“老大哥”Oracle帶著數(shù)據(jù)庫產(chǎn)品第一次出現(xiàn)在中國市場時,國外數(shù)據(jù)庫已經(jīng)迭代了超過7個版本。與國外數(shù)據(jù)庫廠商誕生時間和發(fā)展速度相比,國產(chǎn)數(shù)據(jù)庫尷尬地輸在了“起跑線上”。
那么起跑線落后的數(shù)據(jù)庫還能彎道超車嗎?沒有下一步海闊天空,只有下一步比這一步更難的國產(chǎn)數(shù)據(jù)庫真的迎來轉(zhuǎn)折點了嗎?現(xiàn)在又有怎樣的企業(yè)在國產(chǎn)數(shù)據(jù)庫的深水區(qū)里開荒呢?
對于這些疑問,數(shù)據(jù)庫領(lǐng)域新秀StarRocks也許有獨到的見解和發(fā)言權(quán)。
談風(fēng)雨,StarRocks追求“極速統(tǒng)一分析”之路
數(shù)據(jù)庫,即數(shù)據(jù)管理系統(tǒng),誕生于20世紀(jì)60年代中期的美國,是按數(shù)據(jù)結(jié)構(gòu)來存儲和管理數(shù)據(jù)的計算機軟件系統(tǒng)。
20世紀(jì)80年代后中國數(shù)據(jù)庫市場由“外來和尚”Oracle、Sybase、DB2、Informix等產(chǎn)品占據(jù)。在之后長達(dá)十幾年的時間里,國內(nèi)數(shù)據(jù)庫市場格局也鮮有國產(chǎn)品牌的影子,金融行業(yè)以DB2、Sybase為心腹,而電信、電力行業(yè)中則基本由Oracle一統(tǒng)江湖。
“但是,很快隨著我國國產(chǎn)化戰(zhàn)略的實施和更多的資金投入,國產(chǎn)數(shù)據(jù)庫在中國的占比從2017年的16.5%上升到了2020年的近50%。根據(jù)信通院測算,2020年國產(chǎn)數(shù)據(jù)庫規(guī)模約241億,年復(fù)合增長率23.4%。傳統(tǒng)國產(chǎn)數(shù)據(jù)庫、云數(shù)據(jù)庫和新型數(shù)據(jù)庫創(chuàng)業(yè)企業(yè)在受到資本方的關(guān)注下,加之開源生態(tài)助力后迅速提升了技術(shù)水平和商業(yè)化能力。所以,現(xiàn)在中國的數(shù)據(jù)庫發(fā)展之路也并沒有想象中那么難。”StarRocks COO葉謙告訴數(shù)據(jù)猿。
葉謙所任職的北京鼎石縱橫科技有限公司(簡稱:鼎石科技)成立于2020年5月,是一家專注于大數(shù)據(jù)核心技術(shù)的高科技公司。其麾下成員均來自于百度、阿里、微軟,美團、京東、小米、字節(jié)跳動等互聯(lián)網(wǎng)頭部企業(yè)的基礎(chǔ)架構(gòu)和大數(shù)據(jù)團隊。公司核心產(chǎn)品——新一代極速全場景MPP分析型數(shù)據(jù)庫系統(tǒng)StarRocks正是今天故事的主角。
“Star是天上的一顆星,Rock是地上的一塊石!作為鼎石科技苦心研發(fā)的新一代極速全場景MPP數(shù)據(jù)庫,這個名字就代表我們希望StarRocks仰望星空的同時,更能腳踏實地。”葉謙說罷,便細(xì)數(shù)起StarRocks的腳踏實地之舉:
第一,StarRocks具備極速的任意維度OLAP分析和Adhoc查詢能力,能賦予業(yè)務(wù)全新的洞察靈活性和速度;
第二,StarRocks可以支持?jǐn)?shù)據(jù)秒級實時更新,寫入數(shù)據(jù)立即可見,幫助用戶顯著提升業(yè)務(wù)洞察的實時性;
第三,StarRocks支持?jǐn)?shù)千用戶同時進(jìn)行分析,可以賦能更多用戶進(jìn)行業(yè)務(wù)洞察;
第四,StarRocks還支持基于多種數(shù)據(jù)模型的極速分析,可賦予業(yè)務(wù)全新的構(gòu)建靈活性和速度,能幫助用戶快速響應(yīng)業(yè)務(wù)變化。
在變幻莫測的數(shù)據(jù)庫行業(yè)中,這是StarRocks追求“極速統(tǒng)一分析”之路,也基于業(yè)務(wù)數(shù)據(jù)、數(shù)據(jù)報表、數(shù)據(jù)指標(biāo)越來越多的企業(yè)應(yīng)對之法。
論創(chuàng)新,StarRocks有效利用數(shù)據(jù)為業(yè)務(wù)創(chuàng)造價值
在追求“極速統(tǒng)一分析”的同時,StarRocks也一直在解決一個難題——到底怎樣的技術(shù)創(chuàng)新才能有效地分析海量數(shù)據(jù),真正有效地利用數(shù)據(jù)為業(yè)務(wù)創(chuàng)造價值呢?
從0到1的進(jìn)化,總伴隨著破殼而出的喜悅。談及技術(shù)創(chuàng)新點,葉謙自豪地講到:“全面向量化技術(shù)是第一個創(chuàng)新,StarRocks的整個執(zhí)行引擎都是按照向量化的方式全部重寫的。從磁盤數(shù)據(jù)格式,到內(nèi)存數(shù)據(jù)格式,再到網(wǎng)絡(luò)數(shù)據(jù)傳輸格式都按列的方式進(jìn)行處理。而且我們執(zhí)行引擎里的每一個算子,包括表達(dá)式計算、執(zhí)行節(jié)點、數(shù)據(jù)Shuffle都是用向量化的方式實現(xiàn)并優(yōu)化。”
至于全面向量化的重要性有幾何?StarRocks的全面向量化和其他產(chǎn)品的向量化有何區(qū)別,葉謙進(jìn)一步解釋到:“很多產(chǎn)品的向量化基本都只是局部的,并沒有用向量化技術(shù)實現(xiàn)所有的算子。還有的產(chǎn)品雖然使用列式存儲,但在計算時‘換湯不換藥’還是按行來。而StarRocks不同,它是完全的按列存儲,按列計算,按列傳輸。并且應(yīng)用全面向量化引擎的執(zhí)行,StarRocks相比原來的執(zhí)行引擎,性能提升了幾倍到十幾倍。”
不僅如此,StarRocks還有第二大技術(shù)創(chuàng)新點,即從零開始實現(xiàn)了一個全新的CBO優(yōu)化器。“一個好的優(yōu)化器要能夠給出執(zhí)行代價最低,并能充分利用自身執(zhí)行引擎能力的執(zhí)行計劃,StarRocks自研的全新CBO優(yōu)化器讓我們在SSB標(biāo)準(zhǔn)測試上的性能表現(xiàn)提升了3—5倍。在TPC-H測試集上,同樣是以外表的方式查詢Hive數(shù)據(jù),性能比Presto快5倍以上。當(dāng)然除了這兩大創(chuàng)新點,我們還通過Colocate Join,現(xiàn)代化物化視圖等優(yōu)化手段,這些優(yōu)化手段在特定的場景下都能大幅提升數(shù)據(jù)分析的性能。”葉謙補充到。
為什么StarRocks能如此迅速地成為“前排選手”?也許靠的正是面對數(shù)據(jù)庫深水區(qū)時的產(chǎn)品創(chuàng)新和技術(shù)創(chuàng)新,以及幫助客戶實現(xiàn)重大成就和打造世界級的分析型數(shù)據(jù)庫產(chǎn)品的決心。
品當(dāng)下,滿足客戶的需求是StarRocks存在的唯一意義
杠桿只有在對的支點,才有撬動地球的能力。葉謙覺得這句話最適合互聯(lián)網(wǎng)公司貝殼。
“OLAP平臺是貝殼的數(shù)字化運營基石,在數(shù)據(jù)平臺中占據(jù)著非常重要的位置。首先OLAP平臺需要支撐集團的經(jīng)營管理決策,需要將各種業(yè)務(wù)流程中的關(guān)鍵指標(biāo)抽象出來,在OLAP平臺上進(jìn)行實現(xiàn);其次是探索性分析,OLAP平臺需要支持前線業(yè)務(wù)員的探索性分析;最后是可視化報表,即常規(guī)的固定報表業(yè)務(wù),需要OLAP引擎有支持大規(guī)模并發(fā)請求的能力。”葉謙介紹起貝殼情況。
在沒有上線StarRocks之前,為了滿足不同數(shù)據(jù)分析場景的需求,貝殼上線了包括Impala、Presto、Kylin、Druid、ClickHouse、Hive等多套數(shù)據(jù)分析系統(tǒng),做到不同系統(tǒng)對應(yīng)不同的數(shù)據(jù)分析需求。但貝殼在數(shù)據(jù)分析方面依然存在不少問題,比如歷史數(shù)據(jù)Update支持差、多表Join功能的支持能力差、運維復(fù)雜,用戶學(xué)習(xí)成本較高等等。
“由于使用了多套不同的系統(tǒng),整體的運維復(fù)雜度很高。貝殼大數(shù)據(jù)團隊只有十幾個人,導(dǎo)致對于每套系統(tǒng)的研究理解都不深入,出了問題很容易Hold不住,運維壓力很大。就在使用了StarRocks后,貝殼可以支持高并發(fā)數(shù)據(jù)分析,能很好地支持貝殼的各級人員同時訪問和使用;也支持?jǐn)?shù)據(jù)的實時更新、實時生效,更有力地支持了需要更新的實時數(shù)據(jù)分析場景;不僅如此,Join的查詢性能、能有效地支持星型模型查詢場景。并且,StarRocks的現(xiàn)代化物化視圖技術(shù),可以很容易實現(xiàn)同時高效查詢明細(xì)數(shù)據(jù)和聚合數(shù)據(jù)的能力。”葉謙告訴數(shù)據(jù)猿。
目前,貝殼正在逐步將OLAP數(shù)據(jù)分析場景全部統(tǒng)一到StarRocks上,現(xiàn)在其不僅各個場景需求的滿足度更高,而且同時維護的系統(tǒng)數(shù)量減少后,整體運維復(fù)雜度和壓力都下降了很多。
嘆未來,StarRocks選擇開放源代碼,魚和熊掌或許可以兼得
2021年,對整個開源世界來說是特殊的一年,從誕生年齡來看,它已進(jìn)入“而立”。
30年前,來自芬蘭的大學(xué)生Linus Torvalds創(chuàng)造了Linux操作系統(tǒng)內(nèi)核。經(jīng)過三十載發(fā)展,這個當(dāng)年因個人興趣而誕生的開源項目,如今已經(jīng)發(fā)展成全球最大、參與開發(fā)人數(shù)最多的超級項目。
盡管開放源代碼可以共建生態(tài)、推動技術(shù)創(chuàng)新,但是對于追求商業(yè)成功的初創(chuàng)企業(yè)來說,開放源代碼后如何“活下來”呢?尤其在各方勢力都虎視眈眈的中國數(shù)據(jù)庫產(chǎn)業(yè),魚和熊掌可以兼得嗎?
“StarRocks作為一家商業(yè)化的公司,我們肯定是要追求商業(yè)上的成功。在StarRocks之前,已經(jīng)有很多前輩在這方面進(jìn)行了很多探索和嘗試。”
比如說Databricks的完全開源產(chǎn)品Apache Spark,既使用Apache協(xié)議,又有閉源的商業(yè)化產(chǎn)品Photon,Databricks的商業(yè)化成功靠的是Photon的性能大幅領(lǐng)先Apache Spark。這種開放模式可以稱為‘弱內(nèi)核+寬松協(xié)議’。
還有一種開源類型是MongoDB,普通用戶是可以免費使用,但為了防止云廠商對其直接商業(yè)化,MongoDB使用了SSPL這樣比較嚴(yán)格的協(xié)議,即采用一種“強內(nèi)核+嚴(yán)格協(xié)議”的開放模式。
“面對未來,鼎石科技會有兩條商業(yè)化路徑,一是提供具備更多企業(yè)級功能的企業(yè)版,包括更多的企業(yè)級運維工具,具有安全性和權(quán)限控制,資源隔離等功能;二是會推出一個純云原生版本的產(chǎn)品,直接和公有云廠商合作,為客戶提供全托管的彈性服務(wù)。我們在考慮開放源代碼和商業(yè)化這兩件事情的時候,想得更多的是如何讓普通用戶更易具備最強的數(shù)據(jù)分析能力。”這是葉謙對魚和熊掌是否可以兼得最坦承回應(yīng)。
科幻作家威廉·吉布森曾說:“未來已經(jīng)到來,只是尚未流行。”也許科幻作家活在百年后,科技投資者和媒體人活在幾十年后,但深耕在產(chǎn)業(yè)之中的實干者,以及產(chǎn)業(yè)變革所影響的人都活在當(dāng)下,所以仰望星空,腳踏實地的鼎石科技格外讓人期待。(文:達(dá)尼亞/數(shù)據(jù)猿)