項(xiàng)目從 MySQL 遷移到 GoldenDB,真香!
近幾年,不少使用 MySQL 的公司升級(jí)分布式數(shù)據(jù)庫時(shí)選擇了 GoldenDB ,今天來聊一聊 GoldenDB。
GoldenDB 介紹
GoldenDB 是由中興公司和中信銀行聯(lián)合研發(fā)的一款分布式數(shù)據(jù)庫產(chǎn)品,采用 PGXC 架構(gòu),在傳統(tǒng)關(guān)系型數(shù)據(jù)庫的基礎(chǔ)上,增加了切片集群、計(jì)算節(jié)點(diǎn),使數(shù)據(jù)庫在分布式場(chǎng)景下實(shí)現(xiàn)強(qiáng)一致性。
圖片
如上圖,客戶端通過負(fù)載均衡,訪問到了數(shù)據(jù)庫集群。請(qǐng)求需要經(jīng)過計(jì)算節(jié)點(diǎn)的語法分析、SQL 優(yōu)化,生成執(zhí)行計(jì)劃,最后才會(huì)下發(fā)到對(duì)應(yīng)的分片節(jié)點(diǎn),也就是上圖中的數(shù)據(jù)節(jié)點(diǎn)。
計(jì)算節(jié)點(diǎn)的主要功能如下:
- 前端長(zhǎng)鏈接管理、端口管理、SQL 協(xié)議處理、流量控制;
- SQL 解析:對(duì) SQL 語句進(jìn)行語法檢查,解析生成語法樹;
- 對(duì) SQL 查詢進(jìn)行優(yōu)化;
- SQL 執(zhí)行;
- SQL 路由:數(shù)據(jù)模塊選擇,負(fù)載均衡及路由管理;
- SQL 協(xié)議封裝、后端長(zhǎng)鏈接管理、負(fù)載均衡。
數(shù)據(jù)節(jié)點(diǎn)主要用于存儲(chǔ)數(shù)據(jù)和執(zhí)行事務(wù)。每個(gè)數(shù)據(jù)節(jié)點(diǎn)可以是一個(gè)獨(dú)立的數(shù)據(jù)庫系統(tǒng),業(yè)務(wù)數(shù)據(jù)會(huì)根據(jù)計(jì)算節(jié)點(diǎn)計(jì)算結(jié)果落到不同的數(shù)據(jù)節(jié)點(diǎn)。如下圖:
圖片
跟單體數(shù)據(jù)庫類似,數(shù)據(jù)節(jié)點(diǎn)包括連接器、分析器、優(yōu)化器、執(zhí)行器和數(shù)據(jù)文件。為了保證數(shù)據(jù)高可用,每個(gè)數(shù)據(jù)節(jié)點(diǎn)都會(huì)有至少一個(gè)備份節(jié)點(diǎn)。
分布式數(shù)據(jù)庫要處理分布式事務(wù),必須有事務(wù)協(xié)調(diào)節(jié)點(diǎn)來支持,保證全局事務(wù)的生命周期正常流轉(zhuǎn),達(dá)到支持 ACID 特性的目的。全局事務(wù)管理器就是 GoldenDB 的協(xié)調(diào)節(jié)點(diǎn),維護(hù)當(dāng)前所有正在執(zhí)行的分布式事務(wù)列表,管理分布式事務(wù)的全生命周期,可以創(chuàng)建、提交、回滾全局事務(wù),也可以提供全局事務(wù)狀態(tài)查詢,供數(shù)據(jù)節(jié)點(diǎn)進(jìn)行狀態(tài)判斷。
主要包括以下功能:
- 公共消息處理: 主要跟計(jì)算節(jié)點(diǎn)維持心跳,向管理節(jié)點(diǎn)上報(bào)事務(wù)狀態(tài)信息、處理元數(shù)據(jù)等。
- 全局事務(wù)消息處理:處理來自計(jì)算節(jié)點(diǎn)和管理節(jié)點(diǎn)的全局事務(wù)、SEQUENCE 等相關(guān)請(qǐng)求 , 交給相應(yīng)模塊處理后返回響應(yīng)。
- GTID 處理:負(fù)責(zé)全局事務(wù) ID 申請(qǐng)、查詢、釋放。
- SEQUENCE 處理:負(fù)責(zé) SEQUENCE 的創(chuàng)建、修改。
- CTID 處理:負(fù)責(zé)事務(wù)標(biāo)識(shí)的申請(qǐng)、查詢、釋放。
管理節(jié)點(diǎn)則提供了 GoldenDB 數(shù)據(jù)庫的運(yùn)維能力,統(tǒng)一監(jiān)控分析平臺(tái) Insight,元數(shù)據(jù)管理模塊 MDS,計(jì)算節(jié)點(diǎn)管理模塊 PM,統(tǒng)一運(yùn)維平臺(tái) OMM 和集群管理模塊 CM,可以管理集群高可用、系統(tǒng)的備份恢復(fù)、元數(shù)據(jù)等。
圖片
主要功能包括:
- 統(tǒng)一運(yùn)維管理平臺(tái) OMM:GoldenDB 統(tǒng)一操作維護(hù)入口, 用戶可以在 OMM 上執(zhí)行各種運(yùn)維操作,比如用戶和權(quán)限管理、元數(shù)據(jù)管理、計(jì)算節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn)管理、備份管理等;
- 統(tǒng)一監(jiān)控分析平臺(tái) Insight:對(duì) GoldenDB 進(jìn)行監(jiān)控告警分析;
- 計(jì)算節(jié)點(diǎn)管理模塊 ProxyManager:管理計(jì)算節(jié)點(diǎn)集群。一方面管理計(jì)算節(jié)點(diǎn)的創(chuàng)建、啟用、禁用和刪除, 另一方面管理計(jì)算節(jié)點(diǎn)和應(yīng)用節(jié)點(diǎn)的對(duì)應(yīng)關(guān)系、計(jì)算節(jié)點(diǎn)異常后的數(shù)據(jù)恢復(fù);
- 元數(shù)據(jù)管理模塊 MetaDataServer :存放全部的庫、表、視圖、觸發(fā)器、存儲(chǔ)過程、函數(shù)等元數(shù)據(jù)信息,也會(huì)保存整個(gè)集群的拓?fù)浣Y(jié)構(gòu),當(dāng)計(jì)算節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn)存放的元數(shù)據(jù)和 MetaDataServer 不一致時(shí),會(huì)從 MetaDataServer 同步元數(shù)據(jù)到本地;
- 集群管理模塊 ClusterManager: 主要管理數(shù)據(jù)節(jié)點(diǎn)集群,一方面管理數(shù)據(jù)節(jié)點(diǎn)集群的創(chuàng)建、變更和刪除,另一方面管理數(shù)據(jù)節(jié)點(diǎn)異?;謴?fù)、節(jié)點(diǎn)備份恢復(fù)、數(shù)據(jù)重分布等調(diào)度任務(wù)。
特性
強(qiáng)一致性:這在金融行業(yè)下是非常必須的,尤其是涉及賬務(wù)核算場(chǎng)景。GoldenDB 采用全局事務(wù)管理器來協(xié)調(diào)分布式事務(wù)的強(qiáng)一致性,實(shí)現(xiàn)分布式場(chǎng)景下的 ACID 特性,同時(shí)性能優(yōu)于單體數(shù)據(jù)庫。
靈活的數(shù)據(jù)切片技術(shù):GoldenDB 支持按照哈希、范圍、列表分片等多種分片技術(shù)。也支持這幾種分片的組合分片。
高性能、高擴(kuò)展:高性能和高擴(kuò)展性能夠滿足大行的核心系統(tǒng)要求。GoldenDB 數(shù)據(jù)庫實(shí)測(cè)性能超越傳統(tǒng)集中式數(shù)據(jù)庫 10 倍以上,完全滿足大行核心系統(tǒng)性能要求,且性能隨著物理節(jié)點(diǎn)的增加仍然可線性增長(zhǎng)。
SQL 語法兼容性:完全兼容 MySQL 語法,兼容常用的 Oracle、DB2 語法。支持分布式存儲(chǔ)過程、分布式全局唯一索引、分布式 MVCC 等高級(jí)特性。
支持讀寫分離:系統(tǒng)根據(jù)負(fù)載情況及操作類型,把寫操作發(fā)送到主庫、讀操作負(fù)載均衡到從庫,提高從庫的利用率。
數(shù)據(jù)高可靠性,服務(wù)高可用:多地多中心保障數(shù)據(jù)高可靠,實(shí)現(xiàn)同城RPO=0;增強(qiáng)的多數(shù)派協(xié)議實(shí)現(xiàn)一致性復(fù)制及金融級(jí)高可用,實(shí)現(xiàn)有序的主備切換。
完善的工具集:GoldenDB 提供端到端業(yè)務(wù)遷移、系統(tǒng)運(yùn)維產(chǎn)品化解決方案。通過 GoldenDB Insight 統(tǒng)一運(yùn)維平臺(tái)實(shí)現(xiàn)系統(tǒng)的自動(dòng)化安裝、日常運(yùn)維監(jiān)控及巡檢擴(kuò)容等操作。完善的工具集實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫模式轉(zhuǎn)換、數(shù)據(jù)遷移、實(shí)時(shí)雙向同步等功能,助力業(yè)務(wù)平滑遷移。
平滑遷移:完善的遷移工具集,提供數(shù)據(jù)遷移、實(shí)時(shí)雙向同步等功能,助力業(yè)務(wù)平滑遷移。
高性能:根據(jù)官網(wǎng)介紹,大型銀行 3 億用戶 15 億賬戶真實(shí)賬務(wù)核心業(yè)務(wù)場(chǎng)景下,實(shí)測(cè)性能超過 40000TPS。1.5 億用戶信用卡核心業(yè)務(wù)真實(shí)場(chǎng)景下,實(shí)測(cè)性能百萬級(jí) TPS。
























