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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論