面試官:如果你是架構(gòu)師,GoldenDB 和 openGauss 選擇哪個(gè)?
國(guó)內(nèi)信創(chuàng)改造做數(shù)據(jù)庫(kù)選型時(shí),GoldenDB 和 openGauss 是經(jīng)常會(huì)用到的數(shù)據(jù)庫(kù),今天來(lái)聊一聊這兩款數(shù)據(jù)庫(kù)該怎樣選型。
1. 區(qū)別
1.1 架構(gòu)
openGauss 是一款開(kāi)源關(guān)系型數(shù)據(jù)庫(kù),單機(jī)系統(tǒng),支持主備部署。下面是官網(wǎng)的邏輯架構(gòu)圖:
圖片
其中 OM(Operation Manager)是運(yùn)維管理模塊。客戶端驅(qū)動(dòng)直接與 openGauss 實(shí)例通信,發(fā)送應(yīng)用的 SQL 命令,接收 openGauss 實(shí)例的執(zhí)行結(jié)果。它具有如下特點(diǎn):
單機(jī)部署:架構(gòu)簡(jiǎn)單,部署容易,更關(guān)注單節(jié)點(diǎn)的性能和穩(wěn)定性;
擴(kuò)展性:不能自動(dòng)進(jìn)行水平擴(kuò)展,需要通過(guò)外部中間件(如ShardingSphere)來(lái)做協(xié)調(diào)節(jié)點(diǎn),實(shí)現(xiàn)水平擴(kuò)展;
高可用:因?yàn)槭菃误w數(shù)據(jù)庫(kù),需要通過(guò)主備復(fù)制來(lái)實(shí)現(xiàn)高可用。
GoldenDB 是一款分布式數(shù)據(jù)庫(kù),架構(gòu)圖如下:
圖片
客戶端通過(guò)負(fù)載均衡,訪問(wèn)到了數(shù)據(jù)庫(kù)集群。然后需要經(jīng)過(guò)計(jì)算節(jié)點(diǎn)進(jìn)行語(yǔ)法分析、SQL 優(yōu)化,生成執(zhí)行計(jì)劃,最后才會(huì)下發(fā)到數(shù)據(jù)節(jié)點(diǎn)。特單如下:
分布式部署:采用計(jì)算、存儲(chǔ)、協(xié)調(diào)分離的分布式架構(gòu)。但是部署、運(yùn)維相對(duì)復(fù)雜;
擴(kuò)展性:通過(guò)增加數(shù)據(jù)節(jié)點(diǎn)實(shí)現(xiàn)存儲(chǔ)能力和處理能力的水平擴(kuò)展,在業(yè)務(wù)增長(zhǎng)快的場(chǎng)景下非常適用;
高可用:數(shù)據(jù)多副本,如果整個(gè)數(shù)據(jù)節(jié)點(diǎn)故障,計(jì)算節(jié)點(diǎn)可以將請(qǐng)求路由到其他節(jié)點(diǎn)。同時(shí)具備同城雙活、異地容災(zāi)的能力。
1.2 適用場(chǎng)景
因?yàn)橛蟹植际绞聞?wù)強(qiáng)一致、數(shù)據(jù)高可靠、服務(wù)高可用的特性,目前 GoldenDB 主要應(yīng)用在金融行業(yè)和運(yùn)營(yíng)商核心系統(tǒng)、以及金融級(jí)別交易場(chǎng)景等對(duì)一致性要求較高的場(chǎng)景。
GoldenDB 完全兼容 MySQL 語(yǔ)法,在信創(chuàng)改造中,MySQL 數(shù)據(jù)庫(kù)往往會(huì)考慮遷移到 GoldenDB。
openGauss 做為一款關(guān)系型數(shù)據(jù)庫(kù),在金融、運(yùn)營(yíng)商行業(yè)同樣有廣泛的應(yīng)用,交易場(chǎng)景使用較多。用于存儲(chǔ)和管理大量的用戶數(shù)據(jù)、通話記錄、網(wǎng)絡(luò)數(shù)據(jù)等。也可以用在數(shù)據(jù)倉(cāng)庫(kù)和 OLAP 場(chǎng)景。
openGauss 基于 PostgreSQL 9.2 進(jìn)行研發(fā),在信創(chuàng)改造中,Oracle 數(shù)據(jù)庫(kù)遷移更多會(huì)考慮 openGauss。
1.3 成本
GoldenDB 是商業(yè)數(shù)據(jù)庫(kù),需要獲得商業(yè)許可,涉及核心業(yè)務(wù)時(shí),選擇 GoldenDB 可能會(huì)選擇分布式架構(gòu)、彈性擴(kuò)縮容、高可用性和容災(zāi)能力,這些方面都讓選擇 GoldenDB 的成本升高。
openGauss 則是采用協(xié)議“木蘭寬松許可證”(Mulan PSL V2),用戶可以自由復(fù)制、使用、修改、分發(fā)。也就是說(shuō)軟件本身是免費(fèi)的,當(dāng)然也有基于 openGauss 的商業(yè)數(shù)據(jù)庫(kù),比如 MogDB、Vastbase 等。
1.4 社區(qū)和生態(tài)
GoldenDB 是商業(yè)數(shù)據(jù)庫(kù),生態(tài)主要由中興通訊及其合作伙伴構(gòu)建,社區(qū)活躍度和第三方工具集成度相對(duì)較低。使用 GoldenDB 需要有專業(yè)的廠支持。
openGauss 是開(kāi)源數(shù)據(jù)庫(kù),開(kāi)源是最大優(yōu)勢(shì)。openGauss 擁有非常活躍的開(kāi)源社區(qū),有大量開(kāi)發(fā)者、企業(yè)和學(xué)術(shù)機(jī)構(gòu)參與。工具鏈、監(jiān)控、信創(chuàng)遷移等工具等在社區(qū)推動(dòng)下快速發(fā)展。
2.總結(jié)
GoldenDB 和 openGauss 雖然都是非常典型的國(guó)產(chǎn)數(shù)據(jù)庫(kù),但他們的定位有明顯的區(qū)別,選型時(shí)需要根據(jù)實(shí)際的業(yè)務(wù)場(chǎng)景、成本預(yù)算、團(tuán)隊(duì)情況、監(jiān)管要求等方面來(lái)做選擇。































