數(shù)據(jù)庫(kù)高可用架構(gòu)設(shè)計(jì)_第1頁(yè)
數(shù)據(jù)庫(kù)高可用架構(gòu)設(shè)計(jì)_第2頁(yè)
數(shù)據(jù)庫(kù)高可用架構(gòu)設(shè)計(jì)_第3頁(yè)
數(shù)據(jù)庫(kù)高可用架構(gòu)設(shè)計(jì)_第4頁(yè)
數(shù)據(jù)庫(kù)高可用架構(gòu)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、數(shù)據(jù)庫(kù)高可用架構(gòu)設(shè)計(jì)技術(shù)創(chuàng)新,變革未來(lái)數(shù)據(jù)庫(kù)高可用發(fā)展歷程目錄Aurora 高可用架構(gòu)設(shè)計(jì)MGR 高可用架構(gòu)設(shè)計(jì)多副本數(shù)據(jù)一致高可用架構(gòu)設(shè)計(jì)PART 01 數(shù)據(jù)庫(kù)高可用發(fā)展歷程基于復(fù)制的數(shù)據(jù)庫(kù)高可用架構(gòu)Pros原生支持快速部署,易維護(hù)同步復(fù)制可以確保數(shù)據(jù)一致Cons異步復(fù)制丟數(shù)據(jù)同步復(fù)制無(wú)法支撐寫密集業(yè)務(wù)復(fù)制延遲基于日志的數(shù)據(jù)庫(kù)高可用架構(gòu)MasterSlaveSlave(lastest)SlaveMHABinarylogDiffer binary logMasterSlave共享存儲(chǔ)ReplicationDouble WriteBinlog double writePros限定條件下能夠保證數(shù)

2、據(jù)的一致性ConsMHA: 主機(jī)服務(wù)器SSH無(wú)法訪問丟數(shù)據(jù)日志雙寫:異步狀態(tài)下丟數(shù)據(jù)基于塊設(shè)備鏡像的數(shù)據(jù)庫(kù)高可用Pros對(duì)數(shù)據(jù)庫(kù)透明通用高可用解決方案Cons性能無(wú)法滿足跨網(wǎng)絡(luò)流量Page CacheFile SystemDRBDIO SchedulerDisk DriverPage CacheFile SystemDRBDIO SchedulerDisk DriverDRBDPrimaryReplicaShared nothing 多副本高可用架構(gòu)ClientT1ClientT2ClientT3T2 T1 T3T2 T1T3T2 T1T3數(shù)據(jù)處理模塊事務(wù)分發(fā)模塊PaxosProsShared

3、 nothing多副本,金融級(jí)可靠性支持多寫,解決寫擴(kuò)展問題Cons基于binlog的數(shù)據(jù)同步,復(fù)制延遲難以 避免多寫模式下所有的事務(wù)提交都必須要沖 突檢測(cè),即使沒有沖突MGRCloud-Native DatabaseApplicationsSQLTransactionsCacheLogingSQLTransactionsCacheLogingStorageAuroraPolarDBProsShared disk cluster計(jì)算和存儲(chǔ)分離,解決擴(kuò)展性方案具有通用性獲得更好的性能Cons技術(shù)門檻高強(qiáng)依賴于底層基礎(chǔ)設(shè)施PART 02 Aurora 高可用設(shè)計(jì)為什么要有Aurora?跨網(wǎng)絡(luò)傳輸?shù)?/p>

4、數(shù)據(jù)Redo logBinlogData PageDouble WriteFRM所有數(shù)據(jù)要跨網(wǎng)絡(luò)傳輸5次, 其中3次傳輸還是串行的Aurora統(tǒng)一的跨可用區(qū)、多副本、 高可用的共享存儲(chǔ)系統(tǒng)數(shù)據(jù)庫(kù)實(shí)例和存儲(chǔ)系統(tǒng)僅通 過redo同步數(shù)據(jù)Cache 之間通過redo 同步 減少時(shí)延Recovery 異步執(zhí)行,秒級(jí)恢復(fù)Storage Design數(shù)據(jù)庫(kù)實(shí)例的存儲(chǔ)由10G 大小的Segment組成每個(gè)Segment 有6個(gè)副本,分布在3個(gè)可用域存儲(chǔ)節(jié)點(diǎn)是由掛載了本地SSD的EC2組成單個(gè)數(shù)據(jù)庫(kù)最大支持64 TBSegment是存儲(chǔ)系統(tǒng)數(shù)據(jù)修復(fù)的最 小單元通過標(biāo)記Segment不可用完成計(jì)劃 內(nèi)的遷移操作

5、(熱點(diǎn)不均衡)Quorum DesignQuoruma write quorum of 4/6 (Vw = 4)a read quorum of 3/6 (Vr = 3)容錯(cuò)性失去整個(gè)可用域和另外的一個(gè)存 儲(chǔ)節(jié)點(diǎn),不影響整體系統(tǒng)的讀可 用性失去任意兩個(gè)節(jié)點(diǎn),包括同一個(gè) 可用域或者不同可用域,不影響 寫可用事務(wù)提交redo log在mtr提交時(shí)copy log bufferLog record 根據(jù)page所在的存儲(chǔ)節(jié)點(diǎn) 分成多個(gè)batch,然后發(fā)送到對(duì)應(yīng)的存 儲(chǔ)節(jié)點(diǎn)如果一個(gè)PG內(nèi)的6個(gè)Segment中4個(gè)寫 入成功,則數(shù)據(jù)庫(kù)返回客戶端事務(wù)提交 成功,同時(shí)推動(dòng)VDL每個(gè)Page 根據(jù)待更新的re

6、do logrecord長(zhǎng)度決定page materialization同一個(gè)PG內(nèi)的不同Segment 通過Gossip協(xié)議補(bǔ)全日志故障恢復(fù)CPL : 每個(gè)mtr 最后一個(gè)logrecord對(duì)應(yīng)的lsnVCL:持久化的最大的log record lsnVDL:小于VCL 的最大的CPLRecovry的過程只需要建立 VDL即可,與MySQL 回放redo 不同未提交事務(wù)異步回滾Muti-Master沖突檢測(cè)以Page為粒度進(jìn)行沖突檢 測(cè)基于lsn 實(shí)現(xiàn)版本管理和沖 突檢測(cè)利用邏輯時(shí)鐘(Lamport Clock)解決因果關(guān)系的事 務(wù)順序執(zhí)行問題基于Quorum原則,最先寫 成功4個(gè)的事務(wù)提交

7、,沖突 事務(wù)回滾Master 1Master 2PageID:1 Lsn: 100uuid1Aurora StoragePageID:1 Lsn: 100uuid1PageID:1Lsn: 100uuid1PART 03 MySQL Group ReplicationMGRMySQL 5.7.17 發(fā)布基于Paxos 協(xié)議實(shí)現(xiàn)的多副本數(shù) 據(jù)一致性集群支持single-master 模式和 multi-master模式作為MySQL Innodb cluster 解 決方案一部分MGR 基本原理所有節(jié)點(diǎn)都有相同的數(shù)據(jù) 副本基于binlog實(shí)現(xiàn)數(shù)據(jù)的同 步本地事務(wù)提交時(shí),進(jìn)入全 局排序基于Paxo

8、s協(xié)議確保集群內(nèi) 所有節(jié)點(diǎn)按照相同的事務(wù) 次序執(zhí)行所有事務(wù)基于write set 進(jìn) 行沖突檢測(cè)ClientServerUPDATENative ProcessingOKCOMMITOther ServerOther ServerCertificationPaxosCertificationCertificationCommitrollbackCommitrollbackCommitrollbackOKOKOKNot OKNot OKNot OK一致性協(xié)議PAApreparepreparePAAacceptacceptPAAacceptPPMencius優(yōu)勢(shì):相比Basic Paxos 節(jié)約了

9、Prepare階段 的性能開銷相比Muti-Paxos 消除Leader 瓶頸, 每個(gè)成員負(fù)責(zé)一部分的提議0,3,63*n1,3,53*n+11,3,53*n+2Basic Paxos優(yōu)勢(shì):任意節(jié)點(diǎn)都可以發(fā)起提議劣勢(shì):每個(gè)value都需要至少2次網(wǎng)絡(luò)開銷,2次磁盤持久化容易產(chǎn)生活鎖Write setWrite set:每個(gè)事務(wù)新增加一個(gè)Log Event(Transaction_context_log_event)包含信息事務(wù)更新的主鍵數(shù)據(jù)庫(kù)快照版本(gtid_executed)只在內(nèi)存中維護(hù),不寫入binlog 文件,保證兼容性沖突檢測(cè):每個(gè)成員節(jié)點(diǎn)按照相同的次序(Paxox協(xié)議保障),分別

10、進(jìn)行沖突檢測(cè)每個(gè)成員節(jié)點(diǎn)都維護(hù)了一個(gè)“沖突檢測(cè)數(shù)據(jù)庫(kù)”,所有待檢測(cè)的事務(wù)對(duì)應(yīng)的數(shù)據(jù)庫(kù)版本必須大于沖 突檢測(cè)數(shù)據(jù)庫(kù)中已經(jīng)通過檢測(cè)的記錄的版本所有節(jié)點(diǎn)都已經(jīng)執(zhí)行的事務(wù)對(duì)應(yīng)的記錄會(huì)從沖突檢測(cè)數(shù)據(jù)庫(kù)中異步purge沖突檢測(cè)主鍵版本1group:1-100T1,T2T1T2gtid_executed: group:1-100gtid_executed: group:1-100T1通過沖突檢測(cè)主鍵版本1group:1-101Update s1 set c2 = 5 where pk =1Update s1 set c2 = 6 where pk =1T1:T2:T1 gtid_executed : gro

11、up:1-100T2 gtid_executed : group:1-100T2未通過沖突檢測(cè),回滾PART 04 數(shù)據(jù)庫(kù)高可用解決方案云數(shù)據(jù)庫(kù)架構(gòu)服務(wù)器硬盤設(shè)備網(wǎng)絡(luò)設(shè)備虛擬機(jī)云硬盤云網(wǎng)絡(luò)RDSDDBNDC數(shù)據(jù)庫(kù)助手工具鏈RDSRDS基礎(chǔ)版雙機(jī)高可用版多副本高可用基于MGR 多副本數(shù)據(jù)庫(kù)高可用架構(gòu)三個(gè)節(jié)點(diǎn)位于三個(gè)可用域內(nèi),物理隔離基于RDS VPC 網(wǎng)絡(luò)實(shí)現(xiàn) 集群內(nèi)的數(shù)據(jù)同步提供讀寫和只讀兩個(gè)域名三節(jié)點(diǎn)中設(shè)置一個(gè)只讀節(jié)點(diǎn)通過權(quán)重影響節(jié)點(diǎn)切換 策略R/WRAvaliable ZonePrimaryAvaliable ZoneSecondaryAvaliable ZoneRDS VPC10.172.15.210.172.15.3Secondary10.172.15.4192.168.5.12192.168.8.16ApplicationCustomer VPC故障恢復(fù)Failover time = election time + apply time故障節(jié)點(diǎn)修復(fù)后重新加入集群,選擇只讀節(jié)點(diǎn)作為Seed控制只讀能力,盡快完成數(shù)據(jù)的修復(fù)流控設(shè)計(jì)參數(shù)group_replication_f

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論