驚喜來襲—歡迎“網(wǎng)絡(luò)設(shè)備開放社區(qū)”加入數(shù)通大家庭!
1097
2025-03-31
說到數(shù)據(jù)庫,大家并不陌生,因為數(shù)據(jù)庫是企業(yè)的數(shù)據(jù)底座。在曾慶聰從業(yè)的多年里,可以明顯感覺到相比從前,數(shù)據(jù)庫變得非常熱門,業(yè)務(wù)也已經(jīng)不滿足于傳統(tǒng)集中式的數(shù)據(jù)庫了,分布式數(shù)據(jù)庫、云數(shù)據(jù)庫、云原生,自主可控等技術(shù)話題被廣泛討論。
這些現(xiàn)象的背后是數(shù)據(jù)庫正在經(jīng)歷一個云+分布式的重要里程碑,這將深刻的影響企業(yè)對數(shù)據(jù)庫的選型,乃至企業(yè)的數(shù)字化轉(zhuǎn)型。
曾慶聰是華為云數(shù)據(jù)庫NoSQL域高級產(chǎn)品經(jīng)理,曾就職于大型國企、外企,擔任DBA和研發(fā)工作,獲得Oracle OCP認證。在華為云也曾擔任MySQL域產(chǎn)品經(jīng)理,負責推動RDS、GaussDB(for MySQL)的上線和商用。
在華為云負責數(shù)據(jù)庫產(chǎn)品這些年來,他也見證了企業(yè)使用數(shù)據(jù)庫方式的變革。為了滿足不同業(yè)務(wù)場景的需求,華為云GaussDB也從單一的數(shù)據(jù)庫升級為一個產(chǎn)品家族、一個統(tǒng)一的數(shù)據(jù)庫品牌。
GaussDB代表了華為先進的計算存儲分離的架構(gòu),遵循“日志即數(shù)據(jù)”的原則,使用了算子下推先進的云內(nèi)生性等技術(shù),滿足金融、政企、大型企業(yè)等的核心業(yè)務(wù)方方面面訴求。
下面,曾慶聰將從生態(tài)和業(yè)務(wù)兩方面解讀華為云GaussDB的產(chǎn)品能力。
開源到自研,開放的數(shù)據(jù)庫生態(tài)
GaussDB堅持開放,可以分為2大生態(tài):上半部分是廣泛認知的生態(tài),下半部分是華為自有生態(tài),不同的生態(tài)意味著不同的自主程度,可以適應(yīng)企業(yè)的不同選擇。
廣泛認知的生態(tài)兼容市面上主流開源數(shù)據(jù)庫,其中關(guān)系型數(shù)據(jù)庫有GaussDB(for MySQL)、NoSQL有GaussDB for Mongo、for Canssandra、for Redis、for Influx,和社區(qū)一樣的用法但擁有更優(yōu)秀的能力。
華為自有生態(tài)包含兩條線:一套是社區(qū)版本,一套是云上版本,兩者同源。以openGauss為例,去年openGauss社區(qū)正式開源,云上的單機和主備版本下沉到了社區(qū),經(jīng)過一段時間發(fā)展后于上個月發(fā)布了第二大版本,上線了許多關(guān)鍵能力,社區(qū)主備版可以平滑切換至云上分布式。同時華為將持續(xù)運營社區(qū),一同與合作伙伴、高校、開發(fā)者來促進生態(tài)繁榮。
從架構(gòu)看GaussDB層次解耦的存算分離
華為云GaussDB支持混合云方案,互聯(lián)網(wǎng)和中小企業(yè)可以直接通過華為云訂閱云數(shù)據(jù)庫服務(wù),而金融、政企、大企業(yè)則可以通過華為stack,在本地部署和云上體驗一致的云服務(wù),共享華為云的創(chuàng)新能力,并實現(xiàn)無縫的升級和演進。
說完生態(tài),我們來介紹一下GaussDB的架構(gòu)。GaussDB架構(gòu)的核心就是計算存儲分離,我們先看下圖右邊的物理情況:上面是無狀態(tài)的計算層、CPU和內(nèi)存,下面是有狀態(tài)的數(shù)據(jù)存儲層。云原生數(shù)據(jù)庫如果要實現(xiàn)一套統(tǒng)一的架構(gòu),同時支持不同的多種數(shù)據(jù)模型接入。那么它必然面臨2個問題:不同的數(shù)據(jù)庫SQL語法不同,數(shù)據(jù)組織形式和訪問形式也不同。
所以計算層又分為2個邏輯層:SQL接口層和數(shù)據(jù)索引組織層來解決這個問題。SQL接口層面向的是生態(tài),負責兼容語法,考慮到不同的數(shù)據(jù)庫SQL語法不相同,所以這一層設(shè)計無法做到統(tǒng)一,它的要點是接口接入,做到生態(tài)兼容。
數(shù)據(jù)索引組織層面向的是數(shù)據(jù)的組織和訪問,A數(shù)據(jù)庫的數(shù)據(jù)組織和B數(shù)據(jù)庫的數(shù)據(jù)組織是不一樣的,關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫數(shù)據(jù)組織也是完全不同的,所以這一層也無法做到統(tǒng)一,它的設(shè)計要點是插件化接入。
存儲層面向的是數(shù)據(jù),這一層可以做到統(tǒng)一,它提供脫離語義的數(shù)據(jù)理解能力,只聚焦數(shù)據(jù)。分布式存儲提供基礎(chǔ)的分布式一致性可擴展存儲能力,跨AZ、Region的部署模式,所有的數(shù)據(jù)引擎都可以部署到統(tǒng)一的存儲層。
總結(jié)下這樣的架構(gòu):計算層面負責無狀態(tài)的SQL語義和數(shù)據(jù)組織,通過存儲管理模塊與存儲層進行通訊。存儲層面負責有狀態(tài)的數(shù)據(jù)持久化,上層無需關(guān)心數(shù)據(jù)的分布式一致性。這樣全面解耦的架構(gòu),是目前所看到的最先進的分布式云原生數(shù)據(jù)庫架構(gòu),通過層次解耦的存算分離,向生態(tài)兼容,數(shù)據(jù)融合,多模接入走出了關(guān)鍵一步。
如何解決熱點數(shù)據(jù)問題,保證數(shù)據(jù)0丟失?
基于云原生存算分離的架構(gòu),GaussDB能夠輕松地解決一些長期存在的問題,比如這套架構(gòu)可以避免數(shù)據(jù)庫層分庫分表難以優(yōu)雅處理的數(shù)據(jù)分片熱點問題。
在分庫分表中,如果分片容量不夠大,就很容易出現(xiàn)某個分片訪問壓力特別大。但是存算分離的架構(gòu),加上華為存儲的軟硬件深度整合的數(shù)據(jù)庫插件,可以做到在存儲層實現(xiàn)數(shù)據(jù)分片的映射,打散IO。而且經(jīng)由我們各研究所的算法專家,尤其是俄研所的數(shù)學家們研發(fā)的分布算法,能基于大小、IO等因素均勻分布數(shù)據(jù)塊。
另一方面,由于存算分離后計算層無狀態(tài),因此可以做到RTO低于10秒。基于華為DFV分布式存儲軟件的能力,可以做到存儲RPO=0。數(shù)據(jù)庫和存儲深度融合,實現(xiàn)多副本強一致。基于存儲快照級別備份,實現(xiàn)分鐘級別的備份性能。
在與500家以上不同行業(yè)的政企客戶深度交流和研討過程中,我們發(fā)現(xiàn)客戶將其核心數(shù)據(jù)安全上云方面主要有3個顧慮:
一方面,數(shù)據(jù)庫繁雜的類型造成選型難與核心數(shù)據(jù)業(yè)務(wù)強綁定,所以不影響業(yè)務(wù)是客戶首要考慮的問題。另一方面,客戶上層應(yīng)用與業(yè)務(wù)的改造范圍希望盡量小,且成本在可接受范圍內(nèi)。第三個顧慮是上云后的核心數(shù)據(jù)是否好管理、好運維。
基于多年的企業(yè)客戶服務(wù)經(jīng)驗,以及華為自身對云化、數(shù)字化的理解,華為云提供全場景、全開放的數(shù)據(jù)庫生態(tài)選擇,不必擔心被封閉生態(tài)鎖定。同時為解決客戶核心數(shù)據(jù)上云的痛點,我們打造了一站式的數(shù)據(jù)庫架構(gòu)+應(yīng)用+數(shù)據(jù)一體化遷移方案。
下面,我將分別介紹華為云GaussDB數(shù)據(jù)庫的產(chǎn)品特性,幫助大家理解云原生數(shù)據(jù)庫的技術(shù)優(yōu)勢是如何解決業(yè)務(wù)難點的。
GaussDB(for OpenGauss)
GaussDB(for openGauss)定位是華為自有生態(tài)下的金融級+分布式數(shù)據(jù)庫,該產(chǎn)品具備企業(yè)級復雜事務(wù)混合負載能力,同時支持優(yōu)異的分布式事務(wù),同城跨AZ部署,數(shù)據(jù)0丟失。支持1000+擴展能力,PB級海量存儲等企業(yè)級數(shù)據(jù)庫特性。
GaussDB(for openGauss)擁有云上高可用、高可靠、高安全、彈性伸縮、一鍵部署、快速備份恢復、監(jiān)控告警等關(guān)鍵能力,能為企業(yè)提供功能全面、穩(wěn)定可靠、擴展性強、性能優(yōu)越的企業(yè)級數(shù)據(jù)庫服務(wù)。同時,開源openGauss單機主備社區(qū)版本,鼓勵更多伙伴、開發(fā)者共同繁榮中國數(shù)據(jù)庫生態(tài)。
GaussDB (for MySQL)
GaussDB (for MySQL)定位是一寫多讀云原生數(shù)據(jù)庫,是云原生元素最多的一款產(chǎn)品。
通過這個架構(gòu),GaussDB for MySQL可以提供超高的性能,很好的擴展性,極高的可靠性,以及高度兼容MySQL。單節(jié)點讀輕松達到100W,寫50W,可以創(chuàng)建15個只讀副本。有高達128T的存儲空間,提供存儲級別的跨AZ部署,數(shù)據(jù)三副本強一致,四個九的可用性,也能配合DRS服務(wù)實現(xiàn)MySQL的在線遷移。
它非常適合對數(shù)據(jù)庫有高吞吐、高可用、高可靠、異地容災(zāi)、彈性伸縮、大數(shù)據(jù)量處理需求的行業(yè)。
常言道,軟件優(yōu)化到一定程度,不如硬件一個小的提升。華為DFV存儲原生具備算子下推能力,所以GaussDB (for MySQL)在DFV上實現(xiàn)了算子下推的多個算子,例如聚合、MVCC等。同時也在Server層上實現(xiàn)優(yōu)化器的并行查詢,以及NDP的感知,可以判斷查詢是否觸發(fā)NDP。同時支持PQ+NDP結(jié)合,多線程批量操作下發(fā),以Count(*)計數(shù)操作為例,在PQ+NDP的雙重加持下,有超百倍的性能提升,網(wǎng)絡(luò)傳輸減少到趨于1次,僅僅返回計數(shù)結(jié)果即可。
GaussDB NoSQL
GaussDB NoSQL 屬于云原生多模NoSQL數(shù)據(jù)庫,包括MongoDB、Cassandra、Redis和InfluxDB 4種開源接口,相比較自建NoSQL數(shù)據(jù)庫,它們的優(yōu)勢明顯。
基于計算存儲分離架構(gòu)構(gòu)建,計算節(jié)點和存儲可以分別擴容,以MongoDB為例,添加分片的時候不需要數(shù)據(jù)的rebalance,可以在5分鐘內(nèi)即添加好一個分片,效率非常高,并且在添加分片的時候?qū)?shù)據(jù)庫性能無影響,相比于自建NoSQL數(shù)據(jù)庫添加分片,效率達到了百倍的提高。
計算存儲分離還帶來了極致的高可用,理論上可以達到N-1個節(jié)點故障容忍。舉個例子:假設(shè)一個GaussDB NoSQL集群具備12個節(jié)點的分片,可以容忍11個節(jié)點故障的情況下還能提供訪問。
GaussDB NoSQL單個集群最大可支持96TB的數(shù)據(jù)存儲,而且計算和存儲之間通過高速的RDMA直連網(wǎng)絡(luò),帶來極大的性能提升,在相同資源消耗情況下,比自建NoSQL集群性能有平均3倍的提升。
在可靠性方面,DFV存儲池實現(xiàn)數(shù)據(jù)三副本,支持業(yè)務(wù)無感的壞塊修復。DFV池化技術(shù)使單臺存儲設(shè)備故障對數(shù)據(jù)庫無影響,支持跨3AZ部署。另外,數(shù)據(jù)庫存儲通過DFV快照技術(shù)實現(xiàn)極速的備份和恢復能力,帶來極致的備份恢復體驗。
大規(guī)模商用正在進行時
業(yè)界有句俗話叫-自己吃,華為云數(shù)據(jù)庫在向外部客戶推出前,已經(jīng)在內(nèi)部的消費者云得到充分驗證。消費者云整體數(shù)據(jù)量達到PB級別,單業(yè)務(wù)最大數(shù)據(jù)容量超過100T,有900套數(shù)據(jù)庫遍布全球。
消費者云最開始是多AZ四副本架構(gòu),由第三方組件來選主,單點故障后會選擇新的主節(jié)點接替服務(wù),實現(xiàn)準強一致。但是遇到AZ級別的故障,卻無法依靠數(shù)據(jù)庫本身來確保絕對安全。
升級到GaussDB(for MySQL)之后,基于DFV存儲底座的3AZ強一致,消費者云物理存儲從8份(有RAID)減少到3份,從準強一致升級到強一致。分布式存儲可以動態(tài)均衡壓力,也能避免單點數(shù)據(jù)庫訪問過熱,大大提升了消費者云的數(shù)據(jù)庫服務(wù)能力并降低了成本。
NoSQL生態(tài)方面,GaussDB幫助天地圖為4億客戶提供了最佳體驗。在GaussDB的架構(gòu)和能力下,客戶數(shù)據(jù)庫系統(tǒng)的備份性能提高了20倍,數(shù)據(jù)恢復速度提升7倍,擴容速度和性能提升3倍,大大提升了客戶數(shù)據(jù)庫的可維護性和可靠性。
當前,華為云GaussDB案例已經(jīng)覆蓋全場景客戶,在1000+大客戶的業(yè)務(wù)上規(guī)模化商用。無論是泛金融、政府、運營商,還是快遞、電商領(lǐng)域,都有華為云數(shù)據(jù)庫的身影。華為云數(shù)據(jù)庫將繼續(xù)努力,做好技術(shù)提升和幫助客戶成功,為更多企業(yè)上云數(shù)字化轉(zhuǎn)型提供堅實可靠的數(shù)據(jù)庫底座。數(shù)據(jù)組織形式和訪問形式也不同。
專家 云原生 開發(fā)者 數(shù)據(jù)庫
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應(yīng)法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應(yīng)法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。