電動汽車與分布式數據庫,看似兩個風馬不相及的事物,其發展路徑卻極為雷同:兩者都在較早期被發明,但都沒有成為主流。21世紀初,受環境保護、溫室效應和能源短缺等因素影響,電動汽車再次進入人們的視野,其核心價值卻是自動駕駛,技術門檻非常高,需要具備十分復雜的實時系統。同樣是21世紀初,由于互聯網業務的高并發和海量數據等處理需求,分布式數據庫再次被提及,并掀起應用熱潮,但分布式數據庫的核心價值是單個系統同時進行聯機事務處理與聯機分析處理的能力(HTAP),同樣是高技術門檻,需要具備十分復雜的實時系統。
有需求便會有供給,市面上出現兩種新的產品:混合動力汽車與分庫分表數據庫。混合動力汽車看似兼備燃油汽車和電動汽車的優點,卻由于燃油發動機不能無級平滑調速而無法實現自動駕駛;分庫分表數據庫看似兼備集中式數據庫和分布式數據庫的優點,但因為分庫分表中間件把數據分拆到多個數據庫,所以無法實現HTAP。
本文將對電動汽車與分布式數據庫的發展進行分析對照。
1886年1月29日,德國人卡爾·本茨(Karl Benz)申請了三輪汽車的專利(見圖1)[1],這一天被稱為現代汽車誕生日。同年,德國人哥德利普·戴姆勒(Gottlieb Daimler)制成世界上第一輛四輪汽車。
圖1:世界上第一個汽車專利證書,卡爾·本茨,1886年
1963年,美國通用電氣公司的查爾斯·巴赫曼(Charles Bachman)等人開發出網狀數據庫IDS(Integrated Data Store,見圖2)[2],被認為是第一個數據庫。
圖2:數據的隨機存取,通用電氣公司,1962年
從20世紀初至今,一百多年的時間里,燃油汽車都是汽車的絕對主流。事實上,電動汽車還先于燃油汽車誕生。法國發明家古斯塔夫·特魯維 (Gustave Trouvé) 于 1881 年發明了電動三輪汽車,并在巴黎市中心的瓦盧瓦街頭試車成功(見圖3)[3]。盡管如此,由于燃油以及發動機在功率體積比和功率重量比等方面的顯著優勢,燃油汽車成為汽車領域的首選。
圖3:世界第一輛電動汽車(1881年)
類似地,從數據庫系統誕生的近六十年的時間里,集中式數據庫是聯機事務處理(OLTP)的唯一選擇,盡管1987年出現Ingres Star分布式數據庫(見圖4)[4],但分布式事務的性能以及分布式系統的復雜性,使得分布式數據庫僅在近十年數據量非常大的聯機分析處理(OLAP)場景得到了一些應用。
圖4:分布式數據庫Ingres Star系統架構
正所謂“誰無暴風勁雨時,守得云開見月明”,形容電動汽車與分布式數據庫的生存轉機再合適不過。
21世紀以來,人類面臨環境污染、大氣溫室效應和能源短缺等的嚴峻挑戰,全球數以億計的燃油汽車,其污染物排放、二氧化碳排放和能源消耗不計其數,促使人們尋求無污染、零排放、低能耗的汽車。
得益于大容量蓄電池和快速充電技術的發展,電動汽車再次進入人類視野。然而,電池大約260千瓦時/立方米的能量密度依然遠低于汽油和柴油的8600和9600千瓦時/立方米的能量密度,通俗地講,汽車行駛需要能量,假設某個體積的電池包含的能量可以讓汽車行駛260公里,那么同樣體積的汽油和柴油所包含的能量可以分別讓汽車行駛8600公里和9600公里,區別由此可見。而且,隨著環境溫度的降低,電池儲電量會顯著下降,這些因素導致電動汽車的續航里程不足,需要充電數小時的電池與幾分鐘就能加滿的油箱更是無法比擬。
因此,傳統汽車廠商更多地選擇制造混合動力汽車,即在燃油汽車上增加電池動力作為輔助,堵車或低速行駛時采用電池作為動力以節約能源并降低污染物排放,正常行駛或高速行駛時則采用燃油作為動力。此外,一些新興汽車廠商如特斯拉等,則徹底摒棄燃油方案,開發了純粹以電池作為動力的電動汽車,也稱為純電動汽車。
與此同時,科技的進步與互聯網的普及,迫使越來越多的企業進行數字化轉型,在人與人更便捷的互聯互通、社會更加智能化的背后,是對業務系統越來越頻繁的并發訪問、越來越龐大的數據處理量。集中式數據庫昂貴的成本及其存儲和計算極為有限的擴展能力都顯得捉襟見肘,企業不得不尋求性價比更好、存儲和計算擴展能力更強的數據庫。
分布式技術的發展和云計算的普及使分布式數據庫“浮出水面”。然而,受限于分布式數據庫更加復雜、故障定位更加困難、分布式事務性能有所降低、系統成熟度有所不足等因素,傳統數據庫廠商選擇“業務分庫分表+中間件”的解決方案,即基于集中式數據庫,對業務進行較大幅度的改造和拆解、拆分,使每個拆解、拆分后的部分適合于單個集中式數據庫,這就是分庫分表數據庫。當然,也有一些新興數據庫廠商如OceanBase摒棄了基于集中式數據庫的解決方案,開發真正的分布式數據庫,也稱為原生分布式數據庫。值得一提的是,原生分布式數據庫實現了一體化OLTP+OLAP,旨在一個系統中進行聯機事務處理與分析處理,但真正實現“一體化”的方案極其困難。
在很多人看來,電動汽車就是汽車把發動機和燃油換成了電動機和電池:
燃油汽車 = 發動機+燃油+ 底盤 + 車身 + 電氣設備
電動汽車 = 電動機+電池+ 底盤 + 車身 + 電氣設備
倘若如此,傳統汽車廠商憑借自身在大規模汽車生產、銷售和服務等方面的豐富經驗,在電動汽車領域獲得成功似乎不是什么問題。
事實并非如此。首先,2020年,電動汽車的王者玩家——特斯拉的市值超越了豐田,成為全球市值最高的汽車公司,緊接著在2021年,又超過了包括豐田汽車、大眾汽車、戴姆勒、通用汽車、法拉利和寶馬等在內的全球主要汽車公司市值的總和。再來看這一組數據:2021年,特斯拉新車交付量突破93萬輛,營收538.23億美元,GAAP凈利潤為55.19億美元;同期,豐田交付約1,050萬輛新車,凈利潤211.7億美元。
為什么資本市場如此青睞特斯拉?為什么投資者認為特斯拉有很大的成長空間?
顯然,特斯拉邁過了年產20萬輛車的生死線,并同時保持很高的毛利率和很快的增長速度,這是資本市場青睞特斯拉的前提條件。特斯拉的核心競爭力包括其電池管理等重要技術。當然,最根本的原因是特斯拉的自動駕駛系統:
悠閑舒適是個人亙古不變的追求,自動駕駛能夠極大地降低汽車駕駛的勞動強度。
降本增效是企業永無止境的追求,自動駕駛不僅節省了人力,還能夠顯著地提升汽車利用率(比如后半夜、高原地區等高風險駕駛環境以及其他不適合人工駕駛的場景),從而極大地降低汽車總體擁有成本。
電動機可以無級平滑調速,這是自動駕駛的必要條件,發動機無法做到這一點,因此燃油汽車和包含發動機的混合動力汽車也就無法實現自動駕駛。
自動駕駛系統是十分復雜的實時系統,需要長時間的、大量的實際場景打磨,門檻極高。這個極高的門檻,以及傳統車載軟件與自動駕駛系統的巨大差異,使傳統汽車廠商轉型到純電動汽車以及進行自動駕駛技術的積累,都面臨極大挑戰。
類似地,在很多人看來,分布式數據庫就是把數據庫的集中式的存儲和計算硬件換成了分布式的存儲和計算硬件:
集中式數據庫系統 = 集中式存儲+計算硬件 + SQL子系統 + 事務子系統 + 存儲子系統
分布式數據庫系統 = 分布式存儲+計算硬件 + SQL子系統 + 事務子系統 + 存儲子系統
倘若如此,傳統數據庫廠商憑借自身在數據庫的研發、推廣和服務等方面的豐富經驗,在分布式數據庫領域獲得成功似乎不是什么問題。
實際情況也并非如此:
悠閑舒適是個人亙古不變的追求,原生分布式數據庫能夠用一個系統同時滿足用戶OLTP和OLAP的需求,即HTAP,避免了數據在OLTP和OLAP兩個系統之間的復制、轉換和加載(ETL),極大地簡化了用戶的操作,還避免了ETL導致的數據一致性問題。
降本增效是企業永無止境的追求,原生分布式數據庫一個系統、一份存儲,成本顯著低于OLTP和OLAP兩個系統的兩份存儲,不僅顯著降低用戶總體擁有成本,還避免了ETL導致的數據時效問題。
分庫分表把業務及數據分拆到多個數據庫,因此分庫分表數據庫無法實現HTAP。
集中式數據庫聯機事務處理已經是開發困難且十分復雜的實時系統,分布式聯機事務處理的開發則更加復雜和困難,需要長時間的、大量的實際場景打磨,門檻極高。這個極高的門檻,以及傳統集中式數據庫與原生分布式數據庫在SQL優化器、事務處理和存儲架構等方面的顯著差異,使傳統數據庫廠商轉型到原生分布式數據庫并實現HTAP面臨很大的挑戰。
話雖如此,但不得不承認的是,特斯拉的自動駕駛系統還有待進一步成熟,一些人對自動駕駛的安全性和可靠性依然心存疑慮;原生分布式數據庫的HTAP功能還有待進一步成熟,一些人對HTAP是否能夠真正適用于生產系統依然心存疑慮。因此,使用體驗就成了最好的廣告。特斯拉因其長途續航、提速快以及自動駕駛的全新體驗等特性,收獲了眾多“特迷”。它也是全球唯一一家取得NHTSA五星碰撞安全等級的電動汽車品牌;原生分布式數據庫因其高可用、低成本、智能運維、機器利用率高等特性,獲得銀行、證券、能源、電力、社保等眾多行業的信任,并被應用到了企業核心業務場景中。
如果說上述內容是從社會發展與科技進步的宏觀環境對比電動汽車與分布式數據庫的成長軌跡,它們是如此的相似,那么在微觀層面如某項產品的發展,電動汽車與分布式數據庫的發展軌道形狀也非常雷同,兩者都遵循著“從大到小”的發展策略與開源開放的心態。
從大到小
電動汽車以特斯拉為例,從跑車到高端型SUV,再到緊湊型SUV與小轎車,從面向小眾到面向大眾;原生分布式數據庫的代表OceanBase從集群版逐漸演變出單機版,從面向龐大業務到兼顧小型業務。
這背后的發展邏輯是什么?
在一款汽車剛誕生時,沒有訂購量,更不會快速獲得利潤,因此,要做量產少、利潤大的產品,后期當成本得以控制時,再量產利潤空間小的產品。同樣對于數據庫來講,比如OceanBase首先在支付寶這樣海量數據的場景中落地,由于大業務不那么在意成本、機器配置,使用大容量的硬盤就比較容易,利用高配置環境支撐業務,再逐步優化,達到即便使用小配置,也能支撐大業務的目標。
開源開放
2014年,特斯拉宣布開放所有專利,在所有人懷疑其背后動機的時候,特斯拉已經認識到了自動駕駛是對汽車行業的顛覆性創新,即使其他企業擁有同樣的電動汽車制造能力,特斯拉也自信其能夠保證在電動汽車市場的領導地位。彼時人們對電動汽車的認可度還很低,特斯拉需要的是電動汽車產業崛起。2021年,OceanBase宣布源代碼開源,與外界共享全球最領先的原生分布式數據庫的核心。同樣面對外界的質疑。OceanBase堅定開源,一方面希望聚焦用戶價值,解決用戶的具體問題,另一方面期望與外界共建國產分布式數據庫的生態,從另一條賽道超越“IOE”。
二者對開源技術的態度,正如《硅谷鋼鐵俠》一書中所描述的那樣:“當馬斯克在2014年宣布特斯拉將公開其所有專利時,分析師們試圖確定他是不是在作秀或者其中是否隱藏了不明動機或者圈套。但馬斯克的決定就是這么坦率,他希望人們制造并購買電動車。馬斯克認為,人類的未來取決于此。如果公開特斯拉的專利意味著其他公司能夠更容易地制造出電動車,那么這對人類來說是有利的,這些理念應該是免費的。憤世嫉俗的人一定會嘲笑他的觀點,但馬斯克已經計劃好這么做,他在解釋自己的想法時是真誠的,而且極為真誠。”
今天,在汽車領域,純電動汽車得到了越來越高的認可:
特斯拉Model 3標準車型,廠家標稱續航里程達到了675km,超級充電樁15分鐘最大增加279km續航里程,續航里程和充電速度都在靠近燃油車。
2021年底,大眾汽車宣布,2026年純電動汽車占比25%,2030年純電動汽車占比50%,2040年純電動汽車接近100%。
2019年,寶馬的研發總監還在怒懟純電動汽車:“歐洲不需要純電動汽車,而燃油汽車至少還能存在30年以上的時間”,然而,2021年底,寶馬宣布2030年純電動汽車至少占比50%。
2021年底,豐田汽車宣布將在2030年前推出30款純電動汽車。
今天,在數據庫領域,原生分布式數據庫取得了很大的進步,越來越多benchmark[5]的榜首被原生分布式數據庫所占據:
國際事務處理性能委員會TPC的聯機事務處理TPC-C性能榜,其榜首位置被OceanBase原生分布式數據庫在2020年5月占據,性能約7.07億tpmC。
國際事務處理性能委員會TPC的決策支持處理TPC-DS性能榜,10,000GB榜首位置被Alibaba Cloud AnalyticDB原生分布式數據庫在2020年6月占據,性能約19M QphDS;100,000GB榜首位置被Databricks Photon Engine原生分布式數據庫在2021年11月占據,性能約33M QphDS。
國際事務處理性能委員會TPC的決策支持處理TPC-H性能榜,10,000GB、30,000GB和100,000GB榜首位置均被EXASOL原生分布式數據庫在2021年6月占據,性能大約都是23M QphH。
此外,原生分布式數據庫在行業內也得到了越來越高的認可和越來越廣泛的應用。2020年11月,中國人民銀行正式發布分布式數據庫金融行業標準,包括《分布式數據庫技術金融應用規范 技術架構》《分布式數據庫技術金融應用規范 安全技術要求》和《分布式數據庫技術金融應用規范 災難恢復要求》這三部分,以指導金融行業的分布式數據庫實踐。近幾年,不僅互聯網行業大量采用原生分布式數據庫,越來越多的銀行、保險、證券、通信、能源和社保等行業的企業和機構也采用了原生分布式數據庫。
自動駕駛是純電動車對汽車行業的顛覆式創新,純電動汽車是汽車發展的必然選擇;HTAP是原生分布式數據庫對數據庫行業的顛覆式創新,原生分布式數據庫是數據庫發展的必然選擇。
[1] Carl Benz"s patent application on 29 January 1886: Birth of the automobile 130 years ago, https://media.daimler.com/marsMediaSite/en/instance/ko/Carl-Benzs-patent-application-on-29-January-1886-Birth-of-the-automobile-130-years-ago.xhtml?oid=9919252
[2] How Charles Bachman Invented the DBMS, a Foundation of Our Digital World,https://cacm.acm.org/magazines/2016/7/204036-how-charles-bachman-invented-the-dbms-a-foundation-of-our-digital-world/fulltext
[3] History of the electric vehicle,https://en.wikipedia.org/wiki/History_of_the_electric_vehicle#:~:text=The%20first%20electric%20car%20in,to%20electric%20vehicles%20after%20A.L.
[4] Understanding Ingres Star Architecture: System Architecture, https://docs.actian.com/ingres/10s/index.html#page/Star/System_Architecture.htm
[5] http://www.tpc.org/
本文來自微信公眾號“CSDN”(ID:CSDNnews),作者:陽振坤,36氪經授權發布。