雲原生之後,資料庫的下一個方向是什麼?
在去年的 DevCon上,PingCAP 聯合創始人兼 CTO 黃東旭提出了一個猜想:“資料庫作為一個軟體形態本身會消亡,而資料庫的平臺化、微服務化會取代原來的資料庫軟體形式。”如今,這個猜想正在得到證實——幾乎所有的資料庫廠商,都在雲上提供服務,並且還有不少資料庫正在強化其雲原生屬性。
那麼,雲原生之後,資料庫的下一步是什麼?12 月 1 日,在 PingCAP DevCon 2022 大會上,黃東旭給出了答案:Serverless。
過去一年,PingCAP 一直在忙著把資料庫技術變成資料庫雲服務,最後誕生了 TiDB Cloud。而今年開始,Serverless 則成為了 PingcCAP 的重點技術方向。
業內普遍認為,Serverless 最早可以追溯到 AWS Lambda 等無伺服器雲函式的引入,它允許開發人員通過簡單的 API 呼叫來啟動和停止應用程式。開發人員無需為其配置任何硬體即可執行程式碼。之後,這個概念被擴充套件到資料庫領域。
Serverless,往往會被翻譯為“無伺服器”,但黃東旭認為,應該稱為之“伺服器無感化”。那麼在軟體開發這一更高的維度來看,則是“技術無感化”。他表示,Serverless 的核心,就是通過更高層次的抽象,把資料庫的複雜性一步步降低,如此一來,開發者對具體的技術幾乎不需要感知,就能把資料庫用起來。
為了更好地理解 Serverless 與開發效率之間的關係,黃東旭引入了“抽象”的概念。
二十年前,如果要建一個網站,開發者除了要寫程式碼,還要把大量時間花在與業務無關的事情上,比如買伺服器、租機房、網路租用等,抽象程度很低,迭代速度很慢。而後,公有云的出現把硬體、部署、網路等資料中心的複雜性抽象掉了,變成了虛擬機器。開發一個應用,只需要在公有云上開個賬號,把應用部署上去,按月給錢就行了。這比起自己去折騰資料中心來說,迭代速度又快了一步。接下來,雲原生的概念出現了。原來的計算單元是 VM 虛擬機器,在雲原生的世界裡,計算單元進一步被抽象成了一個 Container。Container 是比 VM 虛擬機器更高層次的抽象。在虛擬機器時代,你依然要考慮 VM 掛了怎麼辦,但在 Container 世界裡,Container 以及底下雲的排程器都不用管,這些都被抽象掉了。這意味著,雲原生軟體的開發迭代速度會比傳統基於 VM 的抽象程度更更快。
儘管已經來到雲原生的時代,開發效率得到了前所未有的提升,但黃東旭仍然認為還不夠。他表示,開發效率低下,開發者沒有時間專注于于業務創新,這是阻礙數字化轉型進一步深入的一個重要原因。Inapps 公司的研究支援了這一觀點。“開發人員每天將 41% 的時間花在基礎設施維護上,而不是創新或將新產品推向市場。”
實際中,這一原因通常會被很多人忽視,但作為一個開發者,黃東旭卻對此深有體會。“當我想要雄心勃勃地開發一個新的應用時,真正開發的時間可能只佔整個時間的 10%-20%。大量時間都花費在買伺服器、部署資料庫、資料的備份恢復、CI/CD 搭建上,而不是在開發應用上面。”
除了資料架構系統本身的複雜之外,資料庫技術的多點開花也成為了開發者的壓力。
上大學的時候,老師告訴黃東旭,資料庫這個東西很簡單,你只要會寫 SQL 就可以了。但工作以後,黃東旭發現, 除了SQL ,還有 OLTP、OLAP、時序資料庫、圖資料庫以及各種各樣稀奇古怪的資料庫,且每一種資料庫都有著自己複雜的概念與運維,想要用好它們,得學習一大堆東西。
“業界有一句特別真實的笑話:別釋出了,別做新的東西了,我真的學不動了······這些複雜的概念現在都沒有被隱藏起來,反而全都透傳給了開發者。”黃東旭說:“我一直想把資料庫帶回到我上大學的那個時候,那時候多簡單。”
這正是 PingCAP 在做的事:Serverless。這也是 PingCAP 所認為的,雲原生之後,資料庫的下一個方向。一個月前, PingCAP 釋出了 TiDB 的 Serverless 雲服務—— TiDB Cloud Serverless Tier 。
據瞭解,TiDB Cloud Serverless Tier 具備四大特性:
- 一是資料庫核心穩定,可以在雲上提供很好的彈性、自動 Failover、SQL 等非常硬核的基礎能力。
- 二是 HTAP 能夠提供實時的一棧式資料服務。使用者無需關心關心什麼是 OLAP,什麼是 OLTP。一套系統可以支撐所有負載,也不用擔心 OLAP 負載影響 OLTP 的正常服務。
- 三是 Serverless 部署成本極低,不用關心任何運維的細節。通過程式碼和 open API 就能控制叢集的起停。尤其在處理更復雜或更大系統的時候,Serverless 能顯著減低複雜性。
- 四是真正地按需計費。Serverless 能夠真正按照資源的消耗量來去計費。對於開發者來說,想用資料庫的時候,召之即來,不用的時候,也不用給錢。任何時候訪問,資料庫都能對外提供服務。
黃東旭表示,設計 TiDB Cloud Serverless Tier 的一個原則就是,充分利用好雲提供的不同服務,比如 Spot Instances、S3、EBS、彈性的 Load Balancer。它對雲上所有的彈性資源都進行了有效的整合以及巧妙的排程,為使用者提供了極致彈性的體驗。“使用者體驗比原來的雲原生資料庫往前跨越了一步,細節更少,抽象程度更高。”
他還表示,Serverless 架構還能解鎖更多的可能性。“以 TiDB Serverless Tier 底下重度依賴的雲物件儲存服務——S3 為例,A 使用者用 S3,B 使用者也用 S3,資料共享就變得很簡單。但在私有環境下,要先把資料下載,拷貝一份,再上傳,然後才能做分析。如果資料量比較大,這幾乎是難以想象的。而 Serverless 架構從技術層面來說,是能夠做到資料共享的。”
就當前而言, PingCAP 還只是邁出了 Serverless 路上的第一步。
關於 Serverless 的未來,PingCAP 副總裁劉松早就暢想過:“下一代應用開發者的程式設計正規化會發生重大的變化,就是因為有了 Serverless 這樣‘技術無感化’的技術。未來所有的雲廠商,包括資料庫廠商都開始進入到了 Serverless 這張門票。最後的一個根本性變化,那就是三五年以後,90% 的應用開發者,都不用關心資料庫是什麼。”
黃東旭想得更遠。“未來,應用開發者對資料庫的關注點會從資料庫變成 API,甚至在更長遠的的未來,只需要關注 web 前端開發就好。“
- WebGPU 尚未釋出,Orillusion 提前公測,我們先和創始人聊了聊
- 多樣性算力、全場景支援是作業系統剛性需求
- Thoughtworks 技術專家 Phodal:2022 年前端趨勢總結
- 雲原生業界生態空前活躍,要落地仍然考驗創造力
- eBPF為雲原生應用可觀測性開啟更多可能性
- 白鯨開源代立冬:資料技術快速更迭, DataOps 應運而生
- 下一代開源作業系統 因雲而與眾不同
- 爭執不斷,但低程式碼的發展已經成為趨勢
- 閘道器基礎設施或邁出走向標準化的關鍵一步
- 前後端開發的邊界越來越模糊
- 為什麼說 AI 標準化和規模化應用來臨?
- 平臺工程理念崛起
- 雲原生成為資料庫產品的重要演進方向
- 開源資料庫賽道為何吸金?
- 資料湖與 LakeHouse 依然炙手可熱
- 作業系統根社群或能應對停服難題
- 統信王耀華:把握開源作業系統供應鏈安全
- 2022 年國產程式語言發展總結
- 工具鏈逐漸成熟,Wasm 雲原生應用逐漸走向主流
- RT-Thread 創始人熊譜翔:2022 開源作業系統之異構計算