雲計算

分佈式數據庫有哪些常用的高可用及容災方案?

OceanBase數據庫從誕生之初,就利用Paxos協議在底層實現了多副本數據一致性,具有上述“RPO=0、低RTO(通常在30s以下)、故障時自動切換”的優勢。而經過多年實際應用場景的歷練後,尤其是像支付寶、淘寶、網商銀行這種高併發、高訪問量、24*7持續交易場景的磨練,OceanBase數據庫已經摸索出一套完整的、經過實踐檢驗的高可用及容災方案。下面我們就結合OceanBase數據庫的實踐經驗,向大家介紹一下OceanBase及分佈式數據常用的一些高可用及容災方案。

其中最核心的思想就是要充分利用分佈式多副本數據一致性協議的原理,並結合各種意外情況的具體特點(個別硬件故障?機房級災難?還是城市級災難?),找到對應的解決之道。如果客戶的基礎設施條件有限,不能滿足分佈式多副本數據一致性協議的部署要求,那麼可以考慮引入其它方式,比如集群間數據複製。

下面的表格中,我們總結了幾種方案方便讀者參考:
未標題-1.jpg
大體來講,針對不同的具體情況,下面幾種方案都滿足了“RPO=0、低RTO、故障時自動切換”的要求,而且在技術上沒有明顯的缺陷,應該作為高可用及容災方案的首選:

• 單機房3副本方案如果沒有任何機房級容災或者城市級容災的要求,只有最簡單的高可用要求,那麼這種簡單易行的部署方案是再好不過了。

• 同城3機房3副本方案如果有機房級容災的要求,但沒有城市級容災的要求,那麼這種方案是最佳選擇。
如果用戶只有同城2機房而沒有建設第3機房,可以考慮在同城內租借一個機房(甚至只租借部分機櫃)來滿足3機房的條件,並可以利用OceanBase的“日誌副本”技術降低部署難度。

• 3地3機房5副本方案如果既有機房級容災的要求,也有城市級容災的要求,那麼這種方案能全部滿足,提供最高級別的高可用性。

如果用戶的基礎設施條件有限,無法滿足上面幾種方案的要求,但同時又要求機房級容災能力或者城市級容災能力,應考慮“集群間數據複製”方案。

最後,也必須意識到技術在不斷進步,OceanBase在不斷進步,用戶的IT建設也在不斷進步。今天的最佳方案也許明天就能找到更好的替代者,因此我們必須以發展的眼光持續進化我們的技術方案,才能讓OceanBase的用戶在未來有更多更好的選擇。在這個過程中,我們也非常希望和業界的朋友及廣大用戶有更多的技術交流和思想碰撞,共同推進分佈式數據庫技術下高可用及容災方案的發展。

Leave a Reply

Your email address will not be published. Required fields are marked *