到底什么是云原生數(shù)據(jù)庫?
阿里云認為,云原生已經(jīng)過了IT基礎(chǔ)設(shè)施及應(yīng)用場景云化的1.0時代,不再只強調(diào)單品能力是否容器化,或者是否通過微服務(wù)、Serverless等新技術(shù)構(gòu)建;現(xiàn)在,云原生數(shù)據(jù)庫已進入2.0時代,更強調(diào)一個能集成多種引擎的全面數(shù)據(jù)庫解決方案。說白了,有了云原生,底層的每個分區(qū)都可以充分享受云帶來的彈性和高可用能力。但同時,云原生并非孤立存在,而是與分布式、在離線一體化、庫倉一體、多模數(shù)據(jù)處理等核心技術(shù)相互融合,讓數(shù)據(jù)在不同應(yīng)用場景和系統(tǒng)之間自由流轉(zhuǎn),進而實現(xiàn)一站式全鏈路數(shù)據(jù)管理與服務(wù)。
騰訊云則認為,云原生數(shù)據(jù)庫強調(diào)的是極致的性能、彈性和無限擴展能力。比如:用戶不僅可以在云上搭建自己的數(shù)據(jù)庫,還能在全面云化的基礎(chǔ)設(shè)施環(huán)境中,按照使用情況進行更細粒度的計費。
而華為云,更看重上層的應(yīng)用和架構(gòu)是否基于云的方式進行改造。換言之,除了資源池化,你的業(yè)務(wù)是否“生于云、長于云”,決定了你是否能充分享受到云原生數(shù)據(jù)庫帶來的極致體驗。
如此一來,云原生數(shù)據(jù)庫好像各有千秋,但對于用戶而言,依然是一知半解。其實,要想真正了解云原生數(shù)據(jù)庫的概念和內(nèi)涵,要從用戶的應(yīng)用場景變化開始梳理。
充分利用云上能力
過去,軟件開發(fā)和應(yīng)用是單體式,要想擁有更強大性能,只有一個選擇,那就是在底層購買更大內(nèi)核的服務(wù)器。性能雖然上去了,但價格不菲,很多銀行用戶都知道,大機的價格很貴。
終于有一天,互聯(lián)網(wǎng)時代來臨,我們可以以更合理的方式,解決性能和成本的問題,這便是最早期的云服務(wù)模式,也就是云數(shù)據(jù)庫時代。包括現(xiàn)在,很多企業(yè)上云的模式,依然是軟件不動,直接把本地架構(gòu)搬上云,相當(dāng)于是把硬件資源進行了池化。
實際上,云帶來的核心價值,遠不止于硬件堆砌起來的存儲層面上的共享,而是上層應(yīng)用上的分布式能力的破解。云,天然是分布式結(jié)構(gòu),基于云的彈性設(shè)計數(shù)據(jù)庫應(yīng)用,意味著數(shù)據(jù)庫的結(jié)構(gòu)不再像從前那種集中式架構(gòu),要靠單體計算能力的強勁,來決定最終的性能。
現(xiàn)在,我們可以通過很便宜的硬件,實現(xiàn)更高的性能。比如:銀行業(yè)務(wù),很多應(yīng)用場景都有計算能力要求,而靠硬件堆砌的單體模式,明顯存在瓶頸。再比如:雙十一場景,云計算可以解決大機解決不了的問題,突破了硬件計算能力理論上的桎梏,這些都是云數(shù)據(jù)庫帶來的改變。云數(shù)據(jù)庫和云原生數(shù)據(jù)庫,一脈相承。
那么,云原生帶來的改變是什么?答案是,架構(gòu)上的根本改變,云原生讓數(shù)據(jù)庫實現(xiàn)真正意義上的橫向擴展!
算力解耦、數(shù)據(jù)可以大量解析,包括大數(shù)據(jù)的蓬勃發(fā)展,都是云架構(gòu)帶來的改變。但如果你只是把數(shù)據(jù)庫搬到云上,只能算是應(yīng)用到硬件紅利,業(yè)務(wù)層面依然受過去瓶頸制約。所以,最佳業(yè)務(wù)模式是,從業(yè)務(wù)架構(gòu)上進行云原生化改造。
適用于對時效性要求較高的業(yè)務(wù)
問題是,都在談云原生,不同云原生數(shù)據(jù)庫有哪些區(qū)別呢?
放眼望去,擁抱云原生數(shù)據(jù)庫的路徑有兩個。一類是直接使用公有云廠商提供的產(chǎn)品和服務(wù);另一類是以公有云的架構(gòu)和做法做自己的私有云。
理論上講,只有公有云才具備云原生數(shù)據(jù)庫能力,因為云原生是有成本的,只有最大化共享,才能分攤公共成本。尤其是業(yè)務(wù)規(guī)模到達百萬級、千萬級規(guī)模的時候,沒有云原生的體系和架構(gòu),根本支撐不住。
只是,在數(shù)字化轉(zhuǎn)型背景下,只用一款或者幾款由公有云支撐的云原生數(shù)據(jù)庫,支撐千行百業(yè)的各個細分場景,從哲學(xué)角度看,這是理想狀態(tài),根本不可能實現(xiàn)。所以,不同公有云之間出現(xiàn)了技術(shù)上的差異,采用不同的產(chǎn)品組合,解決各類場景細分的問題。
另外,對于規(guī)模不太大,或者自身業(yè)務(wù)規(guī)模很大、其業(yè)屬性不太適用于阿里、騰訊、華為的企業(yè),則在本地盡量以公有云的方式,擁抱云原生數(shù)據(jù)庫技術(shù)路線。
比如:國內(nèi)某大型銀行科技公司,既搭建了公有云,也有自己的私有云。數(shù)據(jù)庫服務(wù),目前主要對內(nèi)提供服務(wù),企業(yè)可以在云上直接部署Redis、PostgreSQL等。其中,TiDB的底層,已經(jīng)實現(xiàn)容器化部署。
相對于本地業(yè)務(wù)模式,云原生數(shù)據(jù)庫可以帶來更強大的擴縮容能力。對于大多數(shù)金融業(yè)務(wù)而言,增量相對穩(wěn)定,比較容易預(yù)測云上資源容量。云原生數(shù)據(jù)庫更偏向于互聯(lián)網(wǎng)那種高并發(fā)業(yè)務(wù)場景,對于實效性要求比較高,云原生帶來的好處是,可以把權(quán)限交給用戶,自動化程度比較高,用戶可以自己按需選擇,不需要找專業(yè)的DBA幫忙。
對于大多數(shù)用戶而言,可以把類似于EBS、塊存儲等技術(shù)封裝成業(yè)務(wù)能力,加入企業(yè)自己的甬道,這便是云原生數(shù)據(jù)庫最佳范式。當(dāng)然,最終結(jié)果肯定和公有云的云原生能力沒法比;但這就是企業(yè)應(yīng)用現(xiàn)狀,不同企業(yè)對數(shù)據(jù)合規(guī)及應(yīng)用場景,都有不同需求。