前不久,PingCAP 剛剛度過六歲生日,對于資料庫這樣一個古老的行業,六年只是剛剛起步,TiDB 5.0 的發布就像一個慶祝成長的生日禮物,為 TiDB 帶來了一個具有里程碑意義的版本,通過引入 MPP (Massively Parallel Processing,大規模并行處理)架構,年輕的 TiDB 已經成為一款具備完整 HTAP 能力的分布式資料庫,
PingCAP 聯合創始人兼 CTO 黃東旭在 TiDB 5.0 發布會上進行了《What’s Next? 新一代資料庫的構想》的精彩演講,講述了 TiDB 作為一款企業級資料庫的成長史,并分享 PingCAP 對于企業級資料庫的思考與內外功修煉,
一個企業級資料庫的辛酸成長史
TiDB 從誕生的第一天起,就被設定了一個很高的目標——成為**一款面向核心系統的企業級資料庫,**也因為這個很高的目標,其發展歷程充滿著辛酸的故事,
5 年前,當帶著 TiDB 第一個版本見客戶時,還沒有人用過 TiDB ,而客戶的問題就是“有誰在用你的產品?” 很顯然這段對話的結果就是被拒絕,畢竟作為一款企業級資料庫,替換資料庫的動作就像動心臟手術一樣,客戶通常都非常謹慎,
TiDB 的第一次用戶嘗試就成為“救命”的產品
TiDB 的第一個用戶是一家游戲公司,當時的資料庫不能滿足其廣告投放系統的實時查詢,于是就抱著死馬當活馬醫的心態開始試用,結果 TiDB 成為救活這個公司的產品,說來也巧,這個廣告系統恰好是一個 HTAP 場景,似乎也預示了 TiDB 的救命能力與實時性資料處理密不可分,
一個小目標:開拓金融行業客戶
之后的幾年中,隨著在 Mobike 、今日頭條等互聯網創業企業中應用,TiDB 逐步成為互聯網行業在分布式資料庫領域的事實標準,也有了一些知名度,但熟悉的對話再次發生,客戶在與 PingCAP 交流中問 “你們現在有沒有金融行業的案例?”,當時 TiDB 還正處于 1.0 - 2.0 階段,并沒有金融行業案例,客戶認為這還不算真正的企業級資料庫,
到了 3.0 、4.0 版本時, TiDB 逐漸有了一些核心的金融行業客戶,具備了金融客戶使用案例,但客戶又問 “你們有大行核心系統的應用案例嗎?” “沒有” “那不好意思,告辭!”
這段歷史很辛酸,**每個人都有第一次,一個新產品也總得有第一個客戶,**但資料庫這種東西所有人都說必須得別人用過,自己才敢用,這就是做企業級資料庫的現狀,因為這個東西實在太過于重要,沒有人愿意當小白鼠,
從“救命” 到“省心放心” 企業級資料庫的成熟之路
TiDB 跨過最危險的開源鴻溝
TiDB 與很多資料庫相比,很特別的一點在于它是一個開源軟體,在業界,開源軟體有一個跨越鴻溝的理論,它描繪了一個新技術的發展階段:**一開始大家的預期都很高,逐漸有一些早期的用戶,市場也在不斷發出聲音,持續一段時間后會經歷一個高峰期,高峰過后就會進入一個很長時間沒有增長的階段,**很多開源專案死于這個死亡之谷,那是一段非常焦慮非常煎熬的時期,

上圖中,藍線代表 Kubernetes —— 目前全世界最流行的開源軟體,從圖中能明顯看到它也經歷過這樣一個曲線,另外一條綠線代表了 TiDB ,作為一個歷經六年的開源專案,也沒有逃出這個客觀規律,在中間長達兩年的時間里幾乎沒有增長,這段時間對于一個開源資料庫是最難熬的日子,從 4.0 版本發布至今,TiDB 終于跨過了這個最危險的開源鴻溝,根據開源的歷史規律,TiDB 與 PingCAP 將會迎來一段高速的增長,現在已經是一個“死不了”的產品,在基礎軟體行業,一個死不了的開源軟體已經很不容易了,
這個規律的背后說明了什么?**一個真正好用的基礎軟體,一款真正好用的企業級資料庫,并不是幾個天才工程師寫出來的,而是被人“用”出來的,**中間那段長達兩年的,其實并不是沒有增長,它只是在不停地進化,不斷地在各種各樣的場景中打磨產品,
回到 “什么是企業級資料庫” 這個問題,有很多用戶是通過資料庫的用戶案例來判斷是否企業級,有的認為貴的軟體收費就是企業級,也有很多人甚至覺得開源就不是企業級,每個人心中都有著不同的答案,
做“省心,放心,不擔心”的企業級資料庫
PingCAP 認為,一個真正的企業級資料庫廠商應該把自己放在用戶的角度去思考,無論是一個企業去購買資料庫應對數字化挑戰,還是一個工程師去面對數百臺的資料庫集群維護,他們需要的就是“省心、放心、不擔心“,
**第一,省心,**省心其實主要是易用性問題,很多時候,人們認為易用性是一個有關用戶體驗的事情,這里有一個特別簡單的標準,如果它帶來的問題要小于它解決的問題,這就是易用,如果你發現用一個新東西的時間和精力比它解決問題所花費的時間還多,那就是不省心,
**第二,放心,**資料不會錯、不會丟、性能無抖動是對于一個資料庫最基礎的要求,其實在使用資料庫的程序里,并不在于它有多少功能、多高性能,而是萬一出現問題,有沒有人提供背后的企業級服務,一個 DBA 作業中可能有 50-60% 的時間在部署、安裝、備份、維護資料庫,如果這個資料庫他不會運維,不知道怎么調優,就無法讓人放心,PingCAP 背后有一支專業的服務團隊,比起其他沒有生態的資料庫軟體更能讓人放心,維護不愁人,
**第三,不擔心,**用戶到底在擔心什么?是業務的增長嗎?是資料量變大嗎?是擔心這家資料庫公司倒閉嗎?其實在資料庫領域里,從用戶的視角來看,真正的敵人是系統的復雜性,這個系統越復雜,在應對業務高速增長、快速變化時,應對的動作就會越遲緩,這個復雜性是各種各樣的技術架構、各種各樣的軟體組合在一起,產生了很多的資料對接,以及維護各種各樣的技術堆疊,
關于不擔心,在 TiDB 里有一個真實的故事:
https://v.qq.com/x/page/k3242wd985n.html
在傳統的資料處理與大資料方案中,引入了各種各樣的復雜性,用戶的在線系統和離線大資料系統是完全割裂的兩個系統,使用 TiDB 后,大多數場景用一套系統就可以支撐,對于用戶來說,一個簡潔優雅的技術架構就是不用擔心的方案,
里程碑!TiDB 5.0 核心能力向企業級演進
TiDB 5.0 的內功:TiDB,堆疊穩了!

如果要給 TiDB 5.0 定義一個關鍵字的話,那就是“練內功”,現在整個行業對于 TiDB 的認知和需求已經進入一個深水區,過去大家認為這是一個創新型產品,會在一些創新型的業務上用,但從 4.0 開始至今,越來越多的金融機構或大型企業,開始把 TiDB 用在一些非常關鍵、非常核心的交易、支付場景里,很多人表面上看 5.0 似乎并沒有發布特別多新功能,其實在 5.0 這個版本能看到的顯性功能只是冰山一角,冰山下面更多看不見的是 TiDB 產研團隊、用戶和貢獻者對穩定性以及性能的持續優化,這些“內功”也是一個真正的企業級資料庫應該追求的能力,

**從 4.0 版本到 5.0 版,TiDB 做了大量優化,包括減少性能抖動、提升性能、提升安全性等,上圖中能看到這潭訓色曲線最終變成了紅色曲線,減少抖動將近 100 項,**對于一個企業級資料庫來說,內功其實是非常重要的一個壁壘,
真 HTAP 來了!TiDB 5.0 補全 HTAP 能力拼圖
回顧整個 TiDB 歷史,你可以看到 HTAP 是如何一步步變成今天這個形態的,TiDB 剛誕生的時候,出發點非常樸素,就是想做一個 MySQL 分庫分表的替代品,比 MySQL 分庫分表用起來更方便,解決 OLTP 規模化的問題,
4.0 版本已經實作初步的 HTAP 能力,第一次引入了 HTAP 的重要插件 —— 列式存盤 TiFlash 引擎,列存引擎在底層為 TiDB 打下一個基礎,與 OLAP 資料庫相比不再有天生的缺陷,

TiDB 5.0 最新版在 TiFlash 的基礎上引入了 MPP 架構,在功能上補全了 HTAP 最后一塊拼圖,**提供與存盤匹配的分布式計算引擎,進一步提升海量資料下的并行計算與分析能力,**這對于 TiDB 來說是一個里程碑,標志著 TiDB 成為一個擁有完整能力的 HTAP 分布式資料庫,但里程碑并不代表終點,對于一個企業級資料庫來說,TiDB 還有很長的路要走,前路漫漫,希望大家多多包容,多多呵護 TiDB 繼續成長壯大,
拋掉過去,重新出發——資料庫未來趨勢
如果從資料庫的發展歷史角度來看,上世紀六七十年代,IBM、Oracle 發明了關系型資料庫,2010 年前后,互聯網普及了 Shared Nothing 架構,分布式資料庫慢慢走向主流,現在基本一個成規模的互聯網公司或者資料量大一點的公司,大多都在用 Shared Nothing 的資料庫支撐,但從架構來說,我們也許需要新的思路來解決未來的問題,2021 年我們又站在了一個新十年時間視窗的開始,直覺告訴我們,接下來即將進入一個資料庫技術的全新時代,這個時代需要拋棄掉過去所有對于資料庫的假設,去面向這個時代的基礎設施重新設計,
首先,**規模效應會重新掌握一切,**早年間有一個預言說未來這個世界上只需要五臺計算機,現在來看應該不是五臺計算機,而是五朵云,云的基礎設施也許會變成新的基礎設施,未來的年輕一代工程師或許都不知道什么是 CPU、記憶體、磁盤,他們看到的基礎設施就是云廠商提供的 API 或服務介面,從 Snowflake 的實踐來看,新一代的基礎軟體只有基于云底層能力深度重構才能真正獲取彈性的能力,Snowflake 是第一個,但是肯定不會是最后一個,
未來可期,PingCAP 已經準備好重新出發!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/281408.html
標籤:AI
上一篇:50歲的程式員該何去何從
下一篇:那些年UNIX教我們的事
