用抽象解決復(fù)雜性 Serverless HTAP 數(shù)據(jù)庫(kù)開(kāi)啟技術(shù)無(wú)感化時(shí)代
原創(chuàng)得開(kāi)發(fā)者得天下!無(wú)論是企業(yè)的數(shù)字化轉(zhuǎn)型,還是各種應(yīng)用創(chuàng)新,其背后最終都是開(kāi)發(fā)者所編寫的一行行代碼。對(duì)于數(shù)據(jù)庫(kù)軟件也是如此。
一項(xiàng)名為“在你的組織內(nèi)部到底是誰(shuí)在選擇 Database” 的調(diào)查中顯示,企業(yè)中的架構(gòu)師、開(kāi)發(fā)者、DBA 作為數(shù)據(jù)庫(kù)軟件的真正用戶,日常工作時(shí)間中的 41% 是來(lái)完成基礎(chǔ)設(shè)施的維護(hù),比如買服務(wù)器、部署服務(wù)器、運(yùn)維等等,而不是把大量時(shí)間用于開(kāi)發(fā)應(yīng)用。如果可以提升開(kāi)發(fā)者的生產(chǎn)力,那么業(yè)務(wù)創(chuàng)新、應(yīng)用創(chuàng)新的速度是否也會(huì)相應(yīng)地加快呢?
在近日舉行的 PingCAP DevCon 2022 大會(huì)上,PingCAP 聯(lián)合創(chuàng)始人兼 CTO 黃東旭提出“技術(shù)無(wú)感化”的概念,核心就是通過(guò)更高層次的抽象,降低軟件的復(fù)雜性,使得未來(lái)開(kāi)發(fā)者無(wú)需感知具體的技術(shù),從繁重的運(yùn)維工作中解放出來(lái),在業(yè)務(wù)上解鎖更多創(chuàng)新力與可能性。簡(jiǎn)單來(lái)說(shuō)就是說(shuō)通過(guò)用戶體驗(yàn)的革新,讓技術(shù)變得越來(lái)越簡(jiǎn)單!
借助“抽象”降低數(shù)據(jù)庫(kù)復(fù)雜性
在技術(shù)高速迭代發(fā)展的今天,開(kāi)發(fā)者需要不斷地學(xué)習(xí)進(jìn)步,吸納更多新鮮的技術(shù),以不被這個(gè)時(shí)代所拋棄。業(yè)界有一句特別真實(shí)的笑話:別發(fā)布了,別做新的東西了,我真的學(xué)不動(dòng)了。的確,開(kāi)發(fā)者要想使用好技術(shù),需要不停地學(xué)習(xí),而這些技術(shù)的復(fù)雜性,也統(tǒng)統(tǒng)傳遞給了開(kāi)發(fā)者,拖慢了他們的開(kāi)發(fā)生產(chǎn)力。
如今,開(kāi)發(fā)門檻越來(lái)越低,應(yīng)用開(kāi)發(fā)者越來(lái)越多,數(shù)據(jù)庫(kù)、數(shù)據(jù)技術(shù)、數(shù)據(jù)處理技術(shù)棧如何解決復(fù)雜性帶來(lái)的矛盾呢?黃東旭認(rèn)為利用“抽象”的概念,可以將與業(yè)務(wù)不相關(guān)的概念隱藏掉,從而提升開(kāi)發(fā)效率。
當(dāng)概念的抽象程度越高,復(fù)雜性會(huì)變得越低。過(guò)去開(kāi)發(fā)者搭建網(wǎng)站時(shí),需要購(gòu)買服務(wù)器、租機(jī)房、租用網(wǎng)絡(luò)等等,這一時(shí)期抽象程度較低,開(kāi)發(fā)者需要花大量時(shí)間在這些與業(yè)務(wù)無(wú)關(guān)的事情上。而后,公有云的概念出現(xiàn),將復(fù)雜的硬件選購(gòu)、部署和運(yùn)維等數(shù)據(jù)中心的復(fù)雜性抽象后,以虛擬機(jī)的形式來(lái)提供,開(kāi)發(fā)者無(wú)需關(guān)心底層架構(gòu),只要按需支付費(fèi)用即可。再后來(lái),云原生概念出現(xiàn),核心計(jì)算單元從虛擬機(jī)變成了容器,開(kāi)發(fā)者不用在重點(diǎn)關(guān)注底層基礎(chǔ)架構(gòu)以及云的調(diào)度,而是將精力集中在應(yīng)用開(kāi)發(fā)。容器則是更高層次的抽象,因此云原生軟件的開(kāi)發(fā)迭代速度會(huì)比傳統(tǒng)基于虛擬機(jī)的開(kāi)發(fā)速度更快。
那數(shù)據(jù)庫(kù)領(lǐng)域的“抽象”是如何體現(xiàn)呢?黃東旭表示,最基礎(chǔ)的抽象就是云基礎(chǔ)設(shè)施,在云上私有化部署數(shù)據(jù)庫(kù),PingCAP 打造了云原生架構(gòu)的 TiDB 數(shù)據(jù)庫(kù),提供了 SQL 能力、水平可擴(kuò)展能力、低延遲、高可用、分布式事務(wù)等數(shù)據(jù)庫(kù)內(nèi)核能力,開(kāi)發(fā)者需要自己來(lái)維護(hù)數(shù)據(jù)庫(kù)和虛擬機(jī);再上一層的抽象是基于云的各種能力,在過(guò)去一年中,PingCAP 推出了數(shù)據(jù)庫(kù)的云服務(wù),也就是 TiDB Cloud。在今年 5 月,TiDB Cloud 正式 GA,并且在半年內(nèi)迭代了超過(guò) 34 次,增加了超過(guò)上百個(gè)功能特性和改進(jìn),迭代速度比 TiDB 內(nèi)核本身的迭代速度更快。用戶只需要開(kāi)一個(gè)賬號(hào)就可以擁有一個(gè)不斷更新的、全托管的云數(shù)據(jù)庫(kù)服務(wù),但此時(shí)開(kāi)發(fā)者仍需管理底層的節(jié)點(diǎn),并需要提前對(duì)底層資源做好規(guī)劃。
數(shù)據(jù)庫(kù)的下一級(jí)抽象:Serverless
有了云原生后,那數(shù)據(jù)庫(kù)“抽象”的下一步是什么?PingCAP 認(rèn)為是 Serverless。黃東旭表示,抽象程度越高,開(kāi)發(fā)的效率越高,Serverless 就是云原生之后新的“抽象”。 Serverless HTAP 數(shù)據(jù)庫(kù)是一個(gè)更高級(jí)別的“抽象”,它意味著更高的開(kāi)發(fā)效率。
“Serverless” 并不是沒(méi)有服務(wù)器,開(kāi)發(fā)者只需要關(guān)注開(kāi)發(fā)業(yè)務(wù)應(yīng)用,而不用管理和維護(hù)底層基礎(chǔ)設(shè)施。通過(guò)消除后端基礎(chǔ)設(shè)施的復(fù)雜性,Serverless 讓開(kāi)發(fā)者將注意力從服務(wù)器級(jí)別轉(zhuǎn)移到任務(wù)級(jí)別。
以電商為例,過(guò)去開(kāi)發(fā)者搭建一個(gè)電商網(wǎng)站,需要有庫(kù)存、訂單、支付等系統(tǒng),這些系統(tǒng)對(duì)在線交易要求很高,數(shù)據(jù)不能丟失也不能出錯(cuò)。此外還需要 7*24 小時(shí)不停機(jī),性能還要求特別好。這屬于典型的 OLTP 數(shù)據(jù)庫(kù)需求。當(dāng)領(lǐng)導(dǎo)想要看一天售賣的情況,如某個(gè)地區(qū)售賣金額,還可借助 TiDB 的 HTAP 場(chǎng)景,在一個(gè)系統(tǒng)既做在線的支付交易,又可以直接進(jìn)行實(shí)時(shí)的數(shù)據(jù)分析。
當(dāng)遇到雙 11 等大促活動(dòng)時(shí),為了應(yīng)對(duì)流量洪峰,多數(shù)電商公司會(huì)在雙 11 之前采購(gòu)服務(wù)器,進(jìn)行容量規(guī)劃,但是當(dāng)大促活動(dòng)結(jié)束,這些機(jī)器的資源就閑置了,造成了資源浪費(fèi)。
當(dāng)有了 Serverless 后這一切都改變了,開(kāi)發(fā)者無(wú)需關(guān)心底層的基礎(chǔ)設(shè)施。流量洪峰來(lái)臨時(shí),Serverless HTAP 數(shù)據(jù)庫(kù)可以自動(dòng)擴(kuò)容來(lái)支撐業(yè)務(wù),洪峰降低就自動(dòng)縮容,真正做到按需付費(fèi)。而對(duì)于分析場(chǎng)景,只有需要分析的時(shí)候才開(kāi)始啟動(dòng),分析完之后釋放,只需要根據(jù)分析所使用資源來(lái)付費(fèi)即可。
黃東旭認(rèn)為,Serverless 不會(huì)改變數(shù)據(jù)庫(kù)本身的應(yīng)用場(chǎng)景,而是改變了數(shù)據(jù)庫(kù)在價(jià)值交付中的粒度,同時(shí)降低使用門檻。
為此,PingCAP 推出 TiDB Cloud Serverless Tier,并且在 11 月 1 日已經(jīng)上線公測(cè),20 秒就可以創(chuàng)建一個(gè) HTAP 數(shù)據(jù)庫(kù)集群并獲得流暢的開(kāi)發(fā)體驗(yàn)。TiDB Cloud Serverless Tier 背后是對(duì)于云上所有的彈性資源都進(jìn)行了很好的整合,及巧妙的調(diào)度,提供出一個(gè)極致彈性的用戶體驗(yàn)。這個(gè)用戶體驗(yàn)比原來(lái)的云原生數(shù)據(jù)庫(kù)更往前跨越了一步,細(xì)節(jié)更少,抽象程度更高。Serverless 的出現(xiàn),對(duì)于個(gè)人開(kāi)發(fā)者或初創(chuàng)公司尤其有吸引力,快捷、低價(jià)、省心可以讓開(kāi)發(fā)者快速搭建應(yīng)用,更快將業(yè)務(wù)投向市場(chǎng)中。
PingCAP終極前進(jìn)方向
近幾年,Serverless 已經(jīng)成為最熱門的話題之一,各大云計(jì)算廠商、數(shù)據(jù)庫(kù)廠商也都紛紛進(jìn)入到Serverless 領(lǐng)域。Serverless 究竟是大廠釣魚的新魚餌,還是未來(lái)大前端的新發(fā)展方向?
在黃東旭眼中,數(shù)據(jù)庫(kù)本應(yīng)該就是很簡(jiǎn)單的東西。在上大學(xué)時(shí),老師曾告訴他,只要會(huì)寫 SQL 就會(huì)使用數(shù)據(jù)庫(kù)了。但工作以后才發(fā)現(xiàn)數(shù)據(jù)庫(kù)領(lǐng)域里還有 OLTP、OLAP、實(shí)序數(shù)據(jù)庫(kù)、圖數(shù)據(jù)庫(kù),以及各種各樣稀奇古怪的數(shù)據(jù)庫(kù),用戶得學(xué)習(xí)一大堆東西,這些東西里又有無(wú)數(shù)的細(xì)節(jié)。黃松旭認(rèn)為,開(kāi)發(fā)者本應(yīng)該花更多的時(shí)間專注于業(yè)務(wù)創(chuàng)新上,那些復(fù)雜的事情就應(yīng)該由技術(shù)廠商通過(guò)技術(shù)手段簡(jiǎn)化、無(wú)感化。未來(lái)開(kāi)發(fā)者所關(guān)心的應(yīng)該只有數(shù)據(jù)操作的 API ,這一層才是離業(yè)務(wù)更近的東西。
而在云上提供 Serverless 能力成為現(xiàn)實(shí)后,關(guān)于數(shù)據(jù)還將解鎖很多新玩法。比如,既然數(shù)據(jù)域已經(jīng)存儲(chǔ)到云上,那數(shù)據(jù)共享和數(shù)據(jù)交換就變成了一個(gè)自然又簡(jiǎn)單的事情,到時(shí)候很有可能會(huì)誕生一種叫做 “Data Market” 的新商業(yè)模式,數(shù)據(jù)也將衍生出更多新的產(chǎn)品形態(tài)。對(duì)開(kāi)發(fā)者而言,真正重要的是流暢的開(kāi)發(fā)體驗(yàn),用戶體驗(yàn)是指引產(chǎn)品做得更好用的方向,這也是 PingCAP 終極的前進(jìn)方向,也是作為一個(gè)基礎(chǔ)軟件提供商的擔(dān)當(dāng)!