劉奇:經典數據庫亟需躍遷,TiDB 不是“平替”

img

導讀

在剛剛結束的 PingCAP 用戶峯會 2023 上,PingCAP 創始人兼 CEO 劉奇分享了題爲“創新湧動於先”的演講, 全面解析了 AI 時代 TiDB 的演進方向,宣佈 TiDB Serverless 正式商用,並攜手用戶代表發佈了面向中國企業級用戶的平凱數據庫 。以下是演講實錄全文,閱讀需約 8 分鐘。

過去一段時間,我拜訪了全球各地的客戶,聆聽他們的挑戰和建議,以及 PingCAP 是如何幫助他們解決挑戰的。 在這個過程中,我們也看到一些新的技術發展趨勢。 當下,AI 技術非常火,到處都是各種各樣的 AI Demo,每家企業都在思考這樣一個問題: AI 到底有沒有可能重塑軟件行業?我的答案是——AI 這次真的要重塑整個軟件行業了

img

AI 重塑軟件行業

作爲一家軟件公司,我們思考的問題直接體感通常有兩個 : 一個是代碼,一個是數據

先從代碼說起,大家有沒有意識到, 很多人在過去一段時間不自覺地變成了程序員 。今天,我們向 ChatGPT 提問題,它會給我們一個答案;向它提要求,它會給我們一個結果。比如我們可以讓 ChatGPT 做總結、寫文章,或者讓它生成圖片。大家可以回憶一下,在 AI 時代到來之前,所有這些工作都需要用程序去完成。我們需要用各種各樣的輔助工具,那些東西都需要編程開發 。而今天,我們沒有寫任何一行代碼,只是提了個需求,結果就有了 。以前,這需要很多程序員很長時間努力才能得到一樣的結果。而現在,我們向 AI 發命令、提要求、提問題就能拿到結果,事實上就等於完成了編程工作。現在,自然語言已經成爲最熱門的編程語言。在過去七個月的時間裏,GitHub 上新增代碼中已經有超過 46% 是由 AI 生成的。如果從軟件開發效率的角度看,AI 實際上已經完成差不多一半的人類工作。

再說數據,我們今年一月份發佈了一個 AI 生成 SQL 的產品,叫 Chat2Query(前往 tidbcloud.com 立即註冊體驗),用戶使用 Chat2Query 就不需要再寫 SQL 了,只要用自然語言描述一下希望得到什麼數據,希望做一個什麼分析,SQL 便會自動生成,只要在數據庫裏運行一下,就能得到想要的結果,並且還能用圖表化的形式自動展示出來。

img

上圖右側是 PingCAP CTO 黃東旭在 GitHub 上的個人數據看板。以前要實現這樣一個數據看板,需要一個前端程序員、需要一個數據分析人員寫 SQL 來分析數據,還需要一個後端程序員部署服務,甚至還需要知道一點雲的知識,理解如何把應用部署在雲上。到了今天,這 變成一件非常簡單的事情,只需十分鐘,一行代碼都不用寫。這是一次巨大的生產力提升, AI 帶來的能力讓數據消費的門檻變得極低 。以前,我們必須是一個 SQL 的專家,才能分析數據。 有人曾經寫過一萬多行的 SQL 來處理一個分析需求 ,這個東 西不是人類能輕易掌握的。如今,這個門檻已經降到人人都有可能做到。這意味着我們只要能夠連接上電腦,能和 AI 交互,能接觸到數據,就可以消費數據。這個數量級可能達到 10 億人。在接下來的幾年裏,由數據消費門檻降低帶來的數據消費人數的增加,數據消費頻次的增長,將使數據呈 10-100 倍規模的增長,這是一個遠超我們預期的增速。

AI時代,我們需要怎樣的數據庫技術?

以上改變,將給數據庫帶來巨大的挑戰, 數據消費的門檻降到人人可用的程度,需要每個人都有一個數據庫可用。早在四五年前,我和 CTO 黃東旭探討過一個話題——如果 PingCAP 要爲全世界所有開發者提供一個免費的數據庫,那這個數據庫的架構應該是什麼樣?

img

我們希望這個數據庫能夠做到 實時在線 ,隨時都可以訪問,隨時都可以用;我們也希望它是一個 開放的生態 ,因爲我們不僅僅有存在數據庫裏面的數據,還有很多存在其他地方的數據,我們需要有一個生態能夠和所有數據消費端做更好的對接。

後來,我們形成了一個結論,起碼它應該是個雲原生的架構。如果不是雲原生的架構,我們就沒有辦法去應對各種各樣彈性的需求;今天,一個用戶相對容易預測,那爲全球所有開發者都提供一個免費的數據庫,就意味着我們會有數千萬甚至數億的用戶,這個數據庫怎麼才能做得到?它需要 很強的數據整合能力 ;其次,因爲不同用戶的需求是不一樣的,數據量也不同,我們需要它有 非常強的彈性擴展能力

img

過去這兩年的變化特別快,大家感知最直觀的可能是宏觀經濟變化很快,其實除此之外,AI 技術的進步速度也非常快。從 ChatGPT 在去年 11 月底推出,到今天才過去短短八個月的時間。這八個月中已經創造了無數新的紀錄,包括一個新的項目在 GitHub 上面獲得 Star 的數據、ChatGPT 用戶增長的速度等等。

大家在面對大量新技術的時候,都做出了最直觀的選擇,那就是 擁抱先進性 。過去一段時間我在與美國、日本的客戶交流時,最直接的感受是每個人都在討論兩個方向,一個是成本,另一個是效率。在當前經濟環境下,這幾乎成了所有人的共同選擇。

客戶的關注點就是 TiDB 的焦點

如果仔細觀察 TiDB 發展的軌跡,你就會發現用戶對數據庫的關注點,其實和 TiDB 實際解決的問題是高度一致的。 TiDB 在穩定性、性能、高可用性、易用性、工具生態的提升等方面付出了巨大努力。但我們認爲這件事光努力還不夠,我們還需要有一個非常好的演進策略以及分層的架構設計

img

在內部,我們有一個說法叫做 API First ,各個模塊之間優先設計 API(接下來我們也會推出更多基於 Open API 規範的 API 測試),有了 API 之後系統就很容易被其他各種各樣的業務系統集成。舉個例子,各大型用戶基於 TiDB 都有自己公司內部的運維平臺,通過我們提供的 API 能更好地融合到客戶內部的平臺裏。在日本我和一個客戶交流的時候,對方專門提到過這一點。過去他們需要花幾天時間才能完成新版本的集成,但有 API 之後只要花幾分鐘就能做到。

TiDB 整個系統除了模塊化的切分, 也做了很好的縱向切割 ,從上到下分成三層。比如 Chat2Query 在最上面一層,這層會更關注整個系統的交互性、易用性,如何讓系統更加自動化、更加智能;在 SQL 層主要關注如何提升它的穩定性,讓它變得更加智能。比如 TiDB 的優化器如何更智能地選擇,到底使用行存還是列存,還是讓行列同時使用;最下面是內核層,所有人對此的關注點都一樣,就是高可用、高性能。

img

**在內核層,**TiDB 的存儲引擎使用了一個持續升級的策略——部署一代、研發一代、預研一代 。今天我們聽到的所有關於 TiDB 的討論,其實都是基於部署一代的體感,不少用戶還使用着 TiDB 3.0、4.0,而這已經是四五年前的版本了。當然我們也希望用戶能更快升級到最新版本,享受到新版本帶來的優勢,每一個新版本都會帶來巨大的性能和穩定性提升。7.0 版本發佈的實驗特性 Partitioned Raft KV 就帶來了巨大的性能提升。前面預測未來幾年數據會擴大 10 倍,部分領域會擴大 100 倍,在如此大的數據規模下面我們的數據庫能力是不是也能同步擴大 10 倍、100 倍?這是 Partitioned Raft KV 解決的問題。我們預研一代的存儲引擎 Cloud Storage Engine 已經在後面要提到的 TiDB Serverless 中應用,我們的 CTO 黃東旭在後面的演講和 Blog 中都有詳細的解讀。

如果大家留心就會注意到,過去一年時間裏 TiDB 的 Online DDL 的速度提升了 10 倍。設想一下,我們有一個 100TB 的表,加一個索引要多久?對系統資源的消耗又是什麼樣的?除了 DDL,還有一點是 TiDB 的擴縮容的速度在這個引擎裏面提升了 5 倍,這也意味着數據丟失的風險降低 5 倍,業務中斷的風險降低 5 倍。

平替還是躍遷? TiDB產品家族的協同演進

**經過多年發展,**TiDB 目前已經擁有三大產品家族 :一是 面向企業級市場的 TiDB 企業版 ,服務於企業級關鍵業務場景;二是 全託管的 TiDB Cloud ,提供雲端一棧式 HTAP 數據庫服務,已經成爲歐洲、北美、日本、亞太地區衆多數字原生企業的選擇;三是剛剛正式商用的 TiDB Cloud Serverless ,一個 AI Ready 的數據庫,以極 簡架構、極致體驗和超低門檻爲雲上開發者、創業公司提供低至零成本的選擇,較 TiDB 社區版 和 MySQL RDS 更具成本優勢。

img

TiDB 是如何在多個版本間協同演進的?從上圖可以看出,最上面有一個 TiDB 的 Open Core,TiDB 的所有這些版本都是基於共同的 Root 生長出來,去適應不同的客戶和不同的使用場景。

img

TiDB 企業版已經擁有很多大行、大型企業的使用經驗,他們有些是從數據庫一體機遷移過來的,在遷移過程中和 TiDB 一起積累了大量的遷移經驗。最近 MySQL 5.7 馬上就要結束產品生命週期(End of Life)了,用戶應該怎麼辦?換一個數據庫平替一下?我們的思路不一樣, 我們希望的是用戶不僅僅是從 MySQL5.7 遷移到 TiDB,更要關注的是他遷移過來之後的獲得的價值到底是什麼

我們希望 TiDB 提供的價值是“ 可持續、可擴展、可整合 ”。很多企業都有大量的 MySQL 5.7 ,有成百上千個 instance,管理和維護它們都是非常複雜的事情。TiDB 提供了資源共享的多租戶能力,我們可以把更多的 MySQL 實例整合到一個或者多個 TiDB 集羣,極大提升資源利用率,從而降低硬件成本,同步降低管理集羣的成本。最近我們和一個客戶交流,他們有很多 MySQL 實例,有的利用率不高,就直接降級,從原來的 8C 配置,直接降成 4C 或 2C 配置。過了一段時間,業務這邊有個流量把系統卡死了,再給升級一下。過一段時間流量又下來了,再降級。這就很頭疼,運維和開發的關係就很難處,降本增效的壓力很大。這麼多的 MySQL instance 一旦遷到 TiDB 上面,基於 TiDB 本身的資源共享能力,流量超了幾倍都沒問題,這就可以帶來非常顯著的降本增效。

img

接下來是 TiDB Cloud,它在過去幾年裏得到了全球客戶的認可,包括歐洲最大的移動出行公司 Bolt,北美新銳的 SaaS 公司 Catalyst,印度最大的電商 Flipkart,日本著名的遊戲公司 CAPCOM 等等。

img

最後是 TiDB Serverless。四年前,我親手寫下第一行源代碼,探索新一代雲上 Serverless 架構,這是預研一代的成果。非常幸運,預研一代的速度遠遠超出我們的預期,它現在已經正式商用了。 過去幾個月的時間裏,TiDB Serverless beta 版已經擁有超過 1 萬個活躍的集羣

Serverless 帶來了什麼樣的價值和能力呢? 第一,低成本零元起步 。TiDB Serverless 完成了 PingCAP 的一個夢想, 我們有能力爲全球每一個開發者提供一個免費的數據庫

我想稍微分享一個內部的小故事,最早 TiDB Cloud 的 free tier 成本是現在的 100 多倍。我們內部有個笑話,自己總是調侃說我們是“貴司”。“貴司”是什麼意思呢?TiDB “貴”。因爲比較的對象是 MySQL,作爲一個分佈式系統,TiDB 跟一般的系統比成本肯定高,起步就三個副本,還有計算層、調度層,跟單機比肯定是貴了。很幸運的是, TiDB Serverless 出來之後“貴司”終於不“貴”了。得益於 TiDB Serverless 採用的完全分離式的架構,不僅僅做到了存算分離,我們還做到了 算算分離、存存分離 ,整個系統的彈性非常強,同時它的使用異常簡單,用戶體驗非常好。我們收到大量用戶的讚譽,超出了自己的預期。

大家都希望把自己的時間精力投資在自己的創新上面,投資在自己的業務上面,儘量不想再花時間在數據庫上面,將所有複雜的事情都交給系統,交給 PingCAP 完全自動化處理。過去,大家可能會很好奇,這聽起來好得有點過了,能做到嗎?憑什麼?

TiDB Serverless 爲什麼比社區版更便宜?

今天我們在雲上面使用數據庫或者使用傳統的 RDS,不管是什麼數據庫,本質上都是買一個虛擬機,按照最高的峯值要求配置,不管你的業務現在跑的是什麼量,哪怕 CPU 利用率是 1%,你也必須爲它的 100% 利用率付費。這就是一個傳統的計費模式,永遠爲最高的峯值付費。

TiDB Serverless 的創新在於,你永遠只爲你正在使用的資源付費 。舉個例子,你現在假設有 10 TB 的數據跑在 TiDB Serverless 上面,你沒有任何訪問,那所有的計算節點全部會被自動 shutdown,但你可以在百毫秒的時間內就馬上讓它啓動提供服務。這是一個巨大的進步,用戶僅僅爲使用付費,使用曲線長什麼樣,TiDB 的計費就會長什麼樣。這就是爲什麼 TiDB Serverless 能夠做到比現在的 RDS,比雲上面部署社區版還要便宜 ,只要這個 CPU 的利用率低於 20%,全自動的彈性就會帶來巨大的成本優勢。

img

今天,不管你使用的是經典的單機數據庫、開源數據庫還是雲端的數據庫,TiDB 都提供了成本更低,擴展性更強,更加省心的選擇。

面向中國企業級用戶,發佈平凱數據庫

TiDB 源於中國,很多關鍵特性也來自於中國複雜的用戶場景,毫無疑問中國市場就是 TiDB 的根據地和大本營。最近我們和很多中國用戶溝通交流,他們給了我們非常多的反饋,很多反饋都非常有價值,特別是對於 TiDB 未來發展的預期和展望。我們發現,TiDB 企業版經過五年的打磨,更多是面向全球用戶提供通用性的功能,但是這些功能對於中國企業級用戶來說還遠遠不夠。

當下,隨着 TiDB 逐步進入中國用戶的核心場景以及 TiDB 規模化進入國產化生態, 面向中國企業級用戶的“平凱數據庫”正式發佈了

img

簡單來說, 平凱數據庫主要包含 TiDB Open Core 的穩定內核以及滿足中國企業用戶的增強級企業功能 。第一,提供國產化需求的企業級功能,包括圖形化管控平臺、全鏈路數據遷移平臺、安全特性等等;第二,提供更完善的國產化生態系統的接入功能,包括國產軟硬件的適配,比如操作系統、服務器等等;第三,提供更完善的國產化企業級服務支持能力。

未來, 我們希望平凱數據庫站在 TiDB LTS(長期支持版)的基礎上能爲中國的客戶帶來更好的價值 ,我們希望這個過程是開放的,會定期在國內各個區域組織用戶討論交流的活動,我們希望大家能一起參與到未來平凱數據庫的建設中來。

img

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章