
少有賽道像當前中國數據庫那樣“糾結”:
一方面,迎著時代的風,數據庫的發展如火如荼。2020年4月,數據被正式列為與土地、勞動力、資本和技術并列的“第五要素”,盡顯重要性的同時,也成功帶動數據庫產業水漲船高,迎來鼎盛繁榮。據艾瑞數據統計,2020年中國數據庫市場總規模達247.1億元,同比增長16.2%。未來三年預計將繼續保持高增長,并且多類型數據庫將百花齊放。
另一方面,數據庫的火熱發展沒能點燃資本的熱情。幾乎所有投資人和工程師都表態“愿意等鐵杵磨針”,因為他們心知肚明,數據庫與操作系統、中間件是計算機的三大基礎軟件,從研發難度來講,如果說操作系統是冰山上露出來的95%,那么數據庫就是隱藏在水下冰山的5%,看似相對容易,但沒有足夠的實力,根本觸不到隱藏的冰山一角,也就生產不出好的產品。
1989年,在“老大哥”Oracle帶著數據庫產品第一次出現在中國市場時,國外數據庫已經迭代了超過7個版本。與國外數據庫廠商誕生時間和發展速度相比,國產數據庫尷尬地輸在了“起跑線上”。
那么起跑線落后的數據庫還能彎道超車嗎?沒有下一步海闊天空,只有下一步比這一步更難的國產數據庫真的迎來轉折點了嗎?現在又有怎樣的企業在國產數據庫的深水區里開荒呢?
對于這些疑問,數據庫領域新秀StarRocks也許有獨到的見解和發言權。

談風雨,StarRocks追求“極速統一分析”之路
數據庫,即數據管理系統,誕生于20世紀60年代中期的美國,是按數據結構來存儲和管理數據的計算機軟件系統。
20世紀80年代后中國數據庫市場由“外來和尚”Oracle、Sybase、DB2、Informix等產品占據。在之后長達十幾年的時間里,國內數據庫市場格局也鮮有國產品牌的影子,金融行業以DB2、Sybase為心腹,而電信、電力行業中則基本由Oracle一統江湖。
“但是,很快隨著我國國產化戰略的實施和更多的資金投入,國產數據庫在中國的占比從2017年的16.5%上升到了2020年的近50%。根據信通院測算,2020年國產數據庫規模約241億,年復合增長率23.4%。傳統國產數據庫、云數據庫和新型數據庫創業企業在受到資本方的關注下,加之開源生態助力后迅速提升了技術水平和商業化能力。所以,現在中國的數據庫發展之路也并沒有想象中那么難。”StarRocks COO葉謙告訴數據猿。
葉謙所任職的北京鼎石縱橫科技有限公司(簡稱:鼎石科技)成立于2020年5月,是一家專注于大數據核心技術的高科技公司。其麾下成員均來自于百度、阿里、微軟,美團、京東、小米、字節跳動等互聯網頭部企業的基礎架構和大數據團隊。公司核心產品——新一代極速全場景MPP分析型數據庫系統StarRocks正是今天故事的主角。

“Star是天上的一顆星,Rock是地上的一塊石!作為鼎石科技苦心研發的新一代極速全場景MPP數據庫,這個名字就代表我們希望StarRocks仰望星空的同時,更能腳踏實地。”葉謙說罷,便細數起StarRocks的腳踏實地之舉:
第一,StarRocks具備極速的任意維度OLAP分析和Adhoc查詢能力,能賦予業務全新的洞察靈活性和速度;
第二,StarRocks可以支持數據秒級實時更新,寫入數據立即可見,幫助用戶顯著提升業務洞察的實時性;
第三,StarRocks支持數千用戶同時進行分析,可以賦能更多用戶進行業務洞察;
第四,StarRocks還支持基于多種數據模型的極速分析,可賦予業務全新的構建靈活性和速度,能幫助用戶快速響應業務變化。

在變幻莫測的數據庫行業中,這是StarRocks追求“極速統一分析”之路,也基于業務數據、數據報表、數據指標越來越多的企業應對之法。
論創新,StarRocks有效利用數據為業務創造價值
在追求“極速統一分析”的同時,StarRocks也一直在解決一個難題——到底怎樣的技術創新才能有效地分析海量數據,真正有效地利用數據為業務創造價值呢?
從0到1的進化,總伴隨著破殼而出的喜悅。談及技術創新點,葉謙自豪地講到:“全面向量化技術是第一個創新,StarRocks的整個執行引擎都是按照向量化的方式全部重寫的。從磁盤數據格式,到內存數據格式,再到網絡數據傳輸格式都按列的方式進行處理。而且我們執行引擎里的每一個算子,包括表達式計算、執行節點、數據Shuffle都是用向量化的方式實現并優化。”
至于全面向量化的重要性有幾何?StarRocks的全面向量化和其他產品的向量化有何區別,葉謙進一步解釋到:“很多產品的向量化基本都只是局部的,并沒有用向量化技術實現所有的算子。還有的產品雖然使用列式存儲,但在計算時‘換湯不換藥’還是按行來。而StarRocks不同,它是完全的按列存儲,按列計算,按列傳輸。并且應用全面向量化引擎的執行,StarRocks相比原來的執行引擎,性能提升了幾倍到十幾倍。”
不僅如此,StarRocks還有第二大技術創新點,即從零開始實現了一個全新的CBO優化器。“一個好的優化器要能夠給出執行代價最低,并能充分利用自身執行引擎能力的執行計劃,StarRocks自研的全新CBO優化器讓我們在SSB標準測試上的性能表現提升了3—5倍。在TPC-H測試集上,同樣是以外表的方式查詢Hive數據,性能比Presto快5倍以上。當然除了這兩大創新點,我們還通過Colocate Join,現代化物化視圖等優化手段,這些優化手段在特定的場景下都能大幅提升數據分析的性能。”葉謙補充到。

為什么StarRocks能如此迅速地成為“前排選手”?也許靠的正是面對數據庫深水區時的產品創新和技術創新,以及幫助客戶實現重大成就和打造世界級的分析型數據庫產品的決心。
品當下,滿足客戶的需求是StarRocks存在的唯一意義
杠桿只有在對的支點,才有撬動地球的能力。葉謙覺得這句話最適合互聯網公司貝殼。
“OLAP平臺是貝殼的數字化運營基石,在數據平臺中占據著非常重要的位置。首先OLAP平臺需要支撐集團的經營管理決策,需要將各種業務流程中的關鍵指標抽象出來,在OLAP平臺上進行實現;其次是探索性分析,OLAP平臺需要支持前線業務員的探索性分析;最后是可視化報表,即常規的固定報表業務,需要OLAP引擎有支持大規模并發請求的能力。”葉謙介紹起貝殼情況。
在沒有上線StarRocks之前,為了滿足不同數據分析場景的需求,貝殼上線了包括Impala、Presto、Kylin、Druid、ClickHouse、Hive等多套數據分析系統,做到不同系統對應不同的數據分析需求。但貝殼在數據分析方面依然存在不少問題,比如歷史數據Update支持差、多表Join功能的支持能力差、運維復雜,用戶學習成本較高等等。
“由于使用了多套不同的系統,整體的運維復雜度很高。貝殼大數據團隊只有十幾個人,導致對于每套系統的研究理解都不深入,出了問題很容易Hold不住,運維壓力很大。就在使用了StarRocks后,貝殼可以支持高并發數據分析,能很好地支持貝殼的各級人員同時訪問和使用;也支持數據的實時更新、實時生效,更有力地支持了需要更新的實時數據分析場景;不僅如此,Join的查詢性能、能有效地支持星型模型查詢場景。并且,StarRocks的現代化物化視圖技術,可以很容易實現同時高效查詢明細數據和聚合數據的能力。”葉謙告訴數據猿。
目前,貝殼正在逐步將OLAP數據分析場景全部統一到StarRocks上,現在其不僅各個場景需求的滿足度更高,而且同時維護的系統數量減少后,整體運維復雜度和壓力都下降了很多。

嘆未來,StarRocks選擇開放源代碼,魚和熊掌或許可以兼得
2021年,對整個開源世界來說是特殊的一年,從誕生年齡來看,它已進入“而立”。
30年前,來自芬蘭的大學生Linus Torvalds創造了Linux操作系統內核。經過三十載發展,這個當年因個人興趣而誕生的開源項目,如今已經發展成全球最大、參與開發人數最多的超級項目。
盡管開放源代碼可以共建生態、推動技術創新,但是對于追求商業成功的初創企業來說,開放源代碼后如何“活下來”呢?尤其在各方勢力都虎視眈眈的中國數據庫產業,魚和熊掌可以兼得嗎?
“StarRocks作為一家商業化的公司,我們肯定是要追求商業上的成功。在StarRocks之前,已經有很多前輩在這方面進行了很多探索和嘗試。”
比如說Databricks的完全開源產品Apache Spark,既使用Apache協議,又有閉源的商業化產品Photon,Databricks的商業化成功靠的是Photon的性能大幅領先Apache Spark。這種開放模式可以稱為‘弱內核+寬松協議’。
還有一種開源類型是MongoDB,普通用戶是可以免費使用,但為了防止云廠商對其直接商業化,MongoDB使用了SSPL這樣比較嚴格的協議,即采用一種“強內核+嚴格協議”的開放模式。

“面對未來,鼎石科技會有兩條商業化路徑,一是提供具備更多企業級功能的企業版,包括更多的企業級運維工具,具有安全性和權限控制,資源隔離等功能;二是會推出一個純云原生版本的產品,直接和公有云廠商合作,為客戶提供全托管的彈性服務。我們在考慮開放源代碼和商業化這兩件事情的時候,想得更多的是如何讓普通用戶更易具備最強的數據分析能力。”這是葉謙對魚和熊掌是否可以兼得最坦承回應。
科幻作家威廉·吉布森曾說:“未來已經到來,只是尚未流行。”也許科幻作家活在百年后,科技投資者和媒體人活在幾十年后,但深耕在產業之中的實干者,以及產業變革所影響的人都活在當下,所以仰望星空,腳踏實地的鼎石科技格外讓人期待。(文:達尼亞/數據猿)