數(shù)據(jù)庫應(yīng)用需要什么樣的云原生能力
?原本早上起來想寫點什么的,不過這些天一直覺得有點乏力,早上起來啥也不想干。吃過午飯才感覺好一些。正好腦子里在想些問題,就立即把它寫下來吧,否則有可能這種一閃念的靈感就消失無蹤了。
前兩天有個客戶問我啥叫云原生數(shù)據(jù)庫,我給他講了半天,他聽的還是有點云里霧里,最后說,這東西聽起來確實不錯,不過對于我們這種企業(yè)來說,用處并不大。確實是的,像他們這種央企的二級子公司,一共就二十來套數(shù)據(jù)庫系統(tǒng),談得上大系統(tǒng)的幾乎沒有。我給他介紹的云原生數(shù)據(jù)庫的好處,對他們來說確實也沒有太吸引人的地方。
國外的云原生數(shù)據(jù)庫在公有云上運營的較多,如果我的這個客戶在國外,選擇購買云原生數(shù)據(jù)庫服務(wù)應(yīng)該是首選,不過在國內(nèi),受到一些數(shù)據(jù)安全方面的限制,無法采購公有云服務(wù)。國內(nèi)的所謂云原生數(shù)據(jù)庫往往都不是構(gòu)建在公有云上,通過數(shù)據(jù)庫服務(wù)來獲利的。只要是能夠橫向擴展的,能在云上跑的數(shù)據(jù)庫,都可以打出云原生數(shù)據(jù)庫的旗號來。
實際上對于云原生數(shù)據(jù)庫,也沒有特別恰當(dāng)?shù)亩x。我認(rèn)為能夠與云平臺緊密融合的,能夠像云上的標(biāo)準(zhǔn)組件一樣提供服務(wù),并且具有與云平臺一樣的橫向擴展能力的數(shù)據(jù)庫產(chǎn)品,都可以稱為是云原生數(shù)據(jù)庫。那么一個云原生數(shù)據(jù)庫產(chǎn)品應(yīng)該有哪些能力呢?
首先是要符合“云”的特點,具有極強的自服務(wù)能力,即買即用,即申請即用。讓數(shù)據(jù)庫服務(wù)可以像云主機或者云上RDS一樣便捷的申請,申請完成后可以實現(xiàn)秒鐘級或者分鐘級快速交付。這一點實際上實現(xiàn)起來并不難,普通的云上RDS也是這樣實現(xiàn)的,數(shù)據(jù)庫軟件安裝在裸金屬服務(wù)器上,需要時創(chuàng)建數(shù)據(jù)庫實例,并綁定相應(yīng)的資源即可。
其次是彈性可擴展能力,云的特點就是彈性可擴展,不受單機硬件資源的限制。談到彈性可擴展,大家往往就會直接想到分布式數(shù)據(jù)庫。如果按照這個標(biāo)準(zhǔn),難道只有分布式數(shù)據(jù)庫才算是云原生數(shù)據(jù)庫嗎?實際上情況并非如此。彈性可擴展其限制并非只有CPU,內(nèi)存這些具有單機上限限制的資源。在上云的絕大多數(shù)數(shù)據(jù)庫應(yīng)用里,這方面存在限制的寥寥無幾。存儲的IO能力,IO延時實際上對于很多應(yīng)用來說更為重要。這也是目前用戶對云原生數(shù)據(jù)庫產(chǎn)品詬病較多的地方。如果我想購買1TB的存儲容量,但是我需要5萬IOPS,那么不好意思,我沒法賣給你,我們的的IOPS是按照5000/TB來賣的,你必須買10TB的容量才能買到5萬IOPS。云原生數(shù)據(jù)庫產(chǎn)品應(yīng)該能夠和云平臺緊密融合,并利用云平臺的彈性可擴展能力來為用戶提供不同選項的配置。亞馬遜的AURORA可以通過讀寫分離來提供CPU資源的橫向擴展能力,并且通過云平臺的底層存儲機制動態(tài)復(fù)制副本,擴充IO能力,從而滿足不同種類的業(yè)務(wù)需求。因此一個數(shù)據(jù)庫產(chǎn)品號稱是云原生的,數(shù)據(jù)庫與云底座之間肯定不是簡單的疊加部署的關(guān)系,必須做大量的優(yōu)化適配工作才能做好的。
第三是高可用,利用云平臺的高可用能力,加強數(shù)據(jù)庫的可用性。數(shù)據(jù)庫產(chǎn)品本身就有高可用解決方案,云平臺也有,但是二者可能不完全兼容,因此云原生數(shù)據(jù)庫在云上必須與云底座做更好的融合,綜合雙方的優(yōu)勢才能夠形成最佳的解決方案。
第四是跨數(shù)據(jù)中心高可用能力,無論是私有云還是公有云環(huán)境,一朵云總不可能是永遠(yuǎn)不會出問題的。因此作為云原生數(shù)據(jù)庫產(chǎn)品,必須能夠支持這種跨數(shù)據(jù)中心的,跨云的高可用。
第五是彈性資源調(diào)度能力,上云的最終目的還是為了不斷地降低企業(yè)的IT成本,我們的企業(yè)中,經(jīng)常會存在某套系統(tǒng),峰值資源需求極大,但是峰值應(yīng)用往往只是月底月初的幾天,但是為了不出問題,我們必須為其配置最大的資源。資源動態(tài)調(diào)度,動態(tài)擴縮容目前還沒有成為大多數(shù)大型企業(yè)的剛需。不過地主家也會缺錢的,隨著數(shù)據(jù)庫的爆發(fā)式增長,未來動態(tài)縮容也會成為剛需的。
和國外不同,我國的企業(yè)級應(yīng)用大多數(shù)還是部署在私有云環(huán)境的,甚至還有一些像本文開頭說的那家企業(yè)一樣,如果為了享受云原生數(shù)據(jù)庫的一些便利,還非得上一套復(fù)雜的云底座,那么就比較麻煩了。因此如果云原生數(shù)據(jù)庫廠商能夠提供一套小型的云數(shù)據(jù)庫底座,那么對于用戶來說就十分友好了。不必像Oracle Database Cloud一樣連硬件都配置好,只需要提供一套通用硬件環(huán)境的小型云底座即可。還有一些數(shù)據(jù)庫廠商并不是云平臺廠商,他們想和某個云廠商合作,人家也不見得搭理你。既然云不來就你,數(shù)據(jù)庫廠商可以自己去就云啊。自己開發(fā)一個數(shù)據(jù)庫云底座,作為一個完整的解決方案去為客戶服務(wù)也是不錯的方式。
這幾天腦子還是有點亂,今天也是想到哪寫到哪,總之我的觀點是云原生數(shù)據(jù)庫的需求是強烈存在的,但是我們目前的號稱云原生數(shù)據(jù)庫的產(chǎn)品大多名不副實,數(shù)據(jù)庫廠商也不能只是喊喊口號,而應(yīng)該讓你的產(chǎn)品變得真正像是云生的。?