天天看點

曾被“霸淩”的兩個孩子:電動汽車與分布式資料庫

作者 | 陽振坤 責編 | 田玮靖

出品 | CSDN(ID:CSDNnews)

電動汽車與分布式資料庫,看似兩個風馬不相及的事物,其發展路徑卻極為雷同:兩者都在較早期被發明,但都沒有成為主流。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

曾被“霸淩”的兩個孩子:電動汽車與分布式資料庫

陽振坤,畢業于北京大學數學系和計算機系并獲得大學碩士和博士學位後留校,先後破格晉升副教授和教授,1999年成為首批長江學者。曾獲得國家科技進步一等獎(排名第四),北京市科技進步一等獎,第六屆中國青年科技獎,第一屆中國科協求是傑出青年獎,北京市五四青年獎等,并有20多項第一發明人的發明專利,其中5項美國專利。2010年發起了OceanBase分布式關系資料庫的項目研發。2019年,在國際聯機事務處理基準測試TPC-C benchmark中,OceanBase打破了Oracle資料庫保持了9年之久的資料庫聯機事務處理的世界紀錄。OceanBase資料庫已經在支付寶和多家銀行、保險、能源、電信和政府等企業和部門使用。目前他是OceanBase公司的首席科學家。

繼續閱讀