OceanBase-破解數(shù)據(jù)庫(kù)高可用難題_第1頁
OceanBase-破解數(shù)據(jù)庫(kù)高可用難題_第2頁
OceanBase-破解數(shù)據(jù)庫(kù)高可用難題_第3頁
OceanBase-破解數(shù)據(jù)庫(kù)高可用難題_第4頁
OceanBase-破解數(shù)據(jù)庫(kù)高可用難題_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、OceanBase-破解數(shù)據(jù)庫(kù)高可用難題郁白Agenda數(shù)據(jù)庫(kù)高可用的意義傳統(tǒng)數(shù)據(jù)庫(kù)的高可用方案OceanBase的高可用方案OceanBase1.0技術(shù)展望數(shù)據(jù)庫(kù)高可用的意義數(shù)據(jù)可靠性前提:保證數(shù)據(jù)不丟失數(shù)據(jù)可用性:保證數(shù)據(jù)可訪問故障不可避免系統(tǒng)軟件27%硬件23%網(wǎng)絡(luò)故障17%人為錯(cuò)誤18%天災(zāi)8%未知7%數(shù)據(jù)庫(kù)高可用的意義幾個(gè)“九”的認(rèn)識(shí)數(shù)據(jù)庫(kù)高可用的意義5個(gè)9的可用性5.25分鐘意味著什么? - 5.8億 - 17萬條內(nèi)褲 - 傷百萬用戶的心傳統(tǒng)數(shù)據(jù)庫(kù)的高可用方案單機(jī)高可用 - 高可用硬件:小型機(jī)+高端存儲(chǔ) - 硬件冗余:多路冗余電源和網(wǎng)絡(luò)機(jī)群高可用 - 1主N備 - 可選的備份模式

2、- 最大保護(hù),最高性能,最大可用問題 - 昂貴 - 誰來選主? - 不可調(diào)和的數(shù)據(jù)可靠性與可用性矛盾OceanBase的高可用方案總體架構(gòu)RedoLog同步分布式選舉多級(jí)Lease時(shí)間分析OceanBase的高可用方案總體架構(gòu) - RootServer自己選主,無狀態(tài) - UpdateServer由RootServer選主OceanBase的高可用方案總體架構(gòu)OceanBase的高可用方案UpdateServer基于投票的RedoLog同步 - N個(gè)副本,多數(shù)派(N+1)/2同步成功即成功 - 不影響數(shù)據(jù)可靠與服務(wù)可用的宕機(jī)數(shù)量:1/3,2/5,3/7 - 依賴一個(gè)邏輯上的單點(diǎn)(RootSer

3、ver)選主 - 主機(jī)由RootServer選擇產(chǎn)生,使用lease維護(hù) - 主機(jī)產(chǎn)生LogID連續(xù)的日志來同步到備機(jī) - RootServer在多數(shù)派中以日志的TimeStamp為優(yōu)先級(jí)選主OceanBase的高可用方案UpdateServer基于投票的RedoLog同步 - 順序應(yīng)答與亂序應(yīng)答的折中 - 順序應(yīng)答:實(shí)現(xiàn)簡(jiǎn)單,對(duì)網(wǎng)絡(luò)抖動(dòng)的容忍度低 - 亂序應(yīng)答:調(diào)序與補(bǔ)償邏輯復(fù)雜,性能好,對(duì)網(wǎng)絡(luò)抖動(dòng)的容忍度高 - 關(guān)鍵細(xì)節(jié) - 備機(jī)回放的條件 - 主機(jī)未決日志的補(bǔ)償 - 備機(jī)未決日志的覆蓋 - “幽靈復(fù)現(xiàn)” - 順序應(yīng)答的性能優(yōu)化OceanBase的高可用方案RootServer的分布式選舉

4、 - 原則:選舉保證任意時(shí)刻最多只能有一個(gè)Leader - 投票:得到多數(shù)派(N+1)/2的人成為L(zhǎng)eader - 關(guān)鍵細(xì)節(jié): - 對(duì)時(shí)鐘的依賴:lease與心跳的折中 - 選舉時(shí)機(jī)的選擇:避免選舉分裂,支持投票權(quán)重 - 成員投票不自相矛盾的保證:持久化與非持久化的折中 - 折中的方案,保證簡(jiǎn)單的設(shè)計(jì): - 選舉窗口,不設(shè)心跳,不寫日志,依賴時(shí)鐘 - 支持權(quán)重OceanBase的高可用方案RootServer的分布式選舉時(shí)序分析 - 時(shí)鐘誤差最大為Tdiff,網(wǎng)絡(luò)網(wǎng)路傳輸單程最長(zhǎng)耗時(shí)為Tst - 收到預(yù)投票消息的時(shí)間區(qū)間T1-Tdiff2,T1+Tdiff2+Tst=T2 - 收到投票消息的時(shí)

5、間區(qū)間T2-Tdiff2,T2+Tdiff2+Tst=T3 - 收到廣播消息的時(shí)間區(qū)間T3-Tdiff2,T3+Tdiff2+Tst=T4 - 選舉耗時(shí)Telect=T4-T1=Tdiff6+Tst3接收預(yù)投票接收投票接收廣播T T1 1: :預(yù)投票預(yù)投票T T2 2: :投票投票T T3 3: :計(jì)票計(jì)票& &廣播廣播T T4 4: :選舉結(jié)束選舉結(jié)束OceanBase的高可用方案RootServer的分布式選舉周期分析 - 時(shí)鐘偏差Tdiff=100ms,網(wǎng)絡(luò)單程傳輸Tst=200ms - 選舉耗時(shí)Telect=Tdiff6+Tst3=1200ms - 擴(kuò)展的選舉耗時(shí)Tel

6、ect2=Telect+200=1400ms - Tlease=4Telect2=5600ms,從T1開始 - 無主選舉周期Tcycle=5Telect2=7000msT T1 1T TleaseT TcycleT T4 4接收預(yù)投票接收投票接收廣播T T1 1: :預(yù)投票預(yù)投票T T2 2: :投票投票T T3 3: :計(jì)票計(jì)票& &廣播廣播T T4 4: :選舉結(jié)束選舉結(jié)束OceanBase的高可用方案RootServer的分布式選舉時(shí)鐘分析 - 對(duì)時(shí)鐘誤差的容忍:Tdiff = (Telect2+T3-T1) ,即2200ms - 最長(zhǎng)恢復(fù)時(shí)間: (Tlease+ Tcy

7、cle+Telect) 約兩個(gè)選舉周期,即14000msT TleaseT TcycleT T1 1T T3 3Leader T TleaseT TleaseT TcycleT T1 1T T3 3OceanBase的高可用方案多級(jí)Lease時(shí)間分析 - 多級(jí)Lease系統(tǒng):上級(jí)server給下級(jí)server授予lease - 假設(shè): - 第i層系統(tǒng)的lease時(shí)間為L(zhǎng)(i) - 最長(zhǎng)不可服務(wù)時(shí)間為D(i) - Lease renew間隔為T(i)- D(i) = L(i) + D(i-1)- 上級(jí)server宕機(jī)不影響下級(jí)server的Lease renew - 因此要求D(i - 1) =

8、 L(i) T(i) - Lease時(shí)間越長(zhǎng)宕機(jī)恢復(fù)時(shí)間越長(zhǎng)因此D(i - 1) = L(i) T(i)OceanBase的高可用方案多級(jí)Lease時(shí)間分析 - 上一頁的結(jié)論: - D(i) = L(i) + D(i-1) - D(i - 1) = L(i) T(i) - 推導(dǎo): - L(i) = D(i-1) + T(i) = L(i-1) + D(i-2) + T(i) = L(i-1) + L(i-1) T(i-1) + T(i) = 2*L(i-1) T(i-1) + T(i) - 近似結(jié)果: - L(i) = 2*L(i-1) - lease層級(jí)越多,下層系統(tǒng)lease時(shí)間越長(zhǎng),宕機(jī)停服務(wù)時(shí)間越長(zhǎng) - 盡量扁平化系統(tǒng)設(shè)計(jì)OceanBase的高可用方案多級(jí)Lease時(shí)間分析 - 上一頁的結(jié)論 - L(i) = 2*L(i-1) - D(i) = L(i) + D(i-1) - 第0級(jí)server自主選舉 - 沒有更上一級(jí)的server頒發(fā)lease,L(0)沒有意義 - 因此L(1) = D(0) + T(1) - RootServer選主宕機(jī)恢復(fù)時(shí)間約2*Telect2 - D(1) = L(1) + D(0) = 2*D(0) + T(1) - 因此UpdateServer宕機(jī)恢復(fù)時(shí)間最長(zhǎng)約為4*Telect2OceanBase1.0技

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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)論