UXDB數(shù)據(jù)庫高可用,三種方案任你選
可用性是系統(tǒng)在某一時(shí)刻正常運(yùn)行的概率,高可用表示在單位時(shí)間內(nèi)數(shù)據(jù)庫系統(tǒng)長時(shí)間正常運(yùn)行的能力。UXDB提供如下數(shù)據(jù)庫高可用方案,包括:
主備集群
高可用
主、備數(shù)據(jù)庫通過流復(fù)制實(shí)現(xiàn)數(shù)據(jù)同步,對外表現(xiàn)為一個(gè)虛擬IP,主數(shù)據(jù)庫發(fā)送特定消息給備份數(shù)據(jù)庫,當(dāng)備份數(shù)據(jù)庫收不到消息,即:認(rèn)為主數(shù)據(jù)庫宕機(jī),備份數(shù)據(jù)庫接管虛擬IP繼續(xù)提供服務(wù),從而保證了高可用性。
UXDB流復(fù)制(streaming replication)有三種模式,如下所示。
?異步流
默認(rèn)的流復(fù)制模式,當(dāng)主庫提交事務(wù)時(shí),無需等待備庫接受WAL日志并寫入到備庫WAL日志文件便返回成功(容災(zāi)時(shí)選擇異步方式)
?同步流
與異步流相反,此模式的流復(fù)制需要等待備庫確認(rèn)后,主庫才算提交成功
?延遲同步
設(shè)置備庫延遲同步主庫數(shù)據(jù)
MPP
高可用
MPP模式下,數(shù)據(jù)庫分為控制節(jié)點(diǎn)(Master)和工作節(jié)點(diǎn)(Worker),高可用對于控制節(jié)點(diǎn)和工作節(jié)點(diǎn)配置有所不同:
由于控制節(jié)點(diǎn)只保存元數(shù)據(jù)信息,而不保存任何數(shù)據(jù)信息,具有數(shù)據(jù)體量小、更新次數(shù)少的特點(diǎn),可使用“主備”方式進(jìn)行高可用部署。
Worker節(jié)點(diǎn)可采用設(shè)置數(shù)據(jù)多副本模式進(jìn)行冗余存儲,數(shù)據(jù)將在多個(gè)Worker中進(jìn)行多副本保存,Worker節(jié)點(diǎn)本身不需要任何冗余,當(dāng)任何一個(gè)Worker節(jié)點(diǎn)失效時(shí),控制節(jié)點(diǎn)自動發(fā)送請求到其他副本的Worker節(jié)點(diǎn)吉印通行處理(該過程對客戶端完全透明),從而保障集群中無單點(diǎn)故障。
增強(qiáng)UXMPP查詢引擎,改造繼承表處理流程,實(shí)現(xiàn)UXMPP對繼承表的支持。簡化數(shù)據(jù)庫管理工作;UXMPP節(jié)點(diǎn)再平衡工具,實(shí)現(xiàn)節(jié)點(diǎn)增減時(shí)表分區(qū)的再分配。
實(shí)時(shí)應(yīng)用集群(SRAC)
高可用
共享存儲集群是將多個(gè)優(yōu)炫數(shù)據(jù)庫通過組網(wǎng)方式并聯(lián)在一起,集群間各數(shù)據(jù)庫實(shí)例通過共享存儲的模式共用一份數(shù)據(jù)文件集合,并利用共享緩沖區(qū),在集群之間建立信息同步機(jī)制,保證集群內(nèi)各實(shí)例的相互協(xié)調(diào),實(shí)現(xiàn)多活分布,多寫多讀。
針對高可用的保障分為故障轉(zhuǎn)移和數(shù)據(jù)完整性。故障轉(zhuǎn)移是當(dāng)集群中某臺數(shù)據(jù)庫實(shí)例宕機(jī)時(shí),SQL請求會被轉(zhuǎn)移到其它正常實(shí)例上,保障應(yīng)用訪問的連續(xù)性。數(shù)據(jù)文件存儲在集中式共享存儲中,通過多副本機(jī)制,保證數(shù)據(jù)的完整性。