聊聊分散式資料庫中單節點故障的影響
分散式資料庫中單節點故障的影響?
分散式資料庫中,當存在節點異常時(物理故障異常當機、系統資源導致HANG),在故障恢復過程中,是否對應用有感知,如果應用有感知,影響時間大概多長時間,大家可以針對一些主流的分散式資料庫產品聊下。
問題來自社群會員@leiou0410 某銀行DBA,以下內容來自社群會員探討
@zhanxuechao 數字研究院 諮詢專家:
分散式資料庫部署的時候一般採用叢集、多副本的方式,理論上單節點故障對應用是無感知的,最多隻會丟一個包,自動連線即正常。
@anikikong 中國民生銀行 資料庫運維工程師:
這個屬於分散式資料庫的強項,單節點異常的恢復通常能做到分鐘級甚至秒級。對於應用完全無感知是不可能的,至少當前的事務會失敗。這個我覺得在各種分散式資料庫間差距不是很明顯,屬於分散式的強項之一。
@wangzk0206 scrcu 資料庫管理員:
分散式資料庫的高可用一般都是採用多數派協議實現的,單節點故障(少於多少派的情況下)都會自動切主,對業務感知是透明的。估計會有個別當時執行的事務出現回滾等現象,體現在tps上也就是突然掉下去一點,但隨後立馬恢復。
但是針對系統資源導致HANG這個故障場景,可能一般資料庫感知都可能存在問題吧,一般很難感知到。我所瞭解的OB在這方面具有租戶級別的資源隔離,當一臺伺服器資源使用過高的時候,可以透過OCP白屏(或者命令列黑屏)手工切主,將部分租戶的主切到另外資源使用率低的伺服器上,這樣原有的伺服器的資源利用率就會降低。
@huhu097 雲南紅塔銀行 DBA:
以下為本人親自測試結果,僅供參考:
@EastBrother 技術支援:
一般在做分散式資料庫規劃設計中,都會考慮分散式資料庫的高可用架構以及應急處置策略等。最基本的原則肯定是要具備單點故障無維護的能力,還有所選分散式資料庫叢集軟體的安全穩定效能力,一定要全面測試驗證,要避免分散式資料庫叢集軟體自身缺陷導致的爭搶資源或頻繁異常當機的情況。
在做分散式資料庫高可用架構規劃時,可能會考慮以下幾種方式:
1)單機房多副本,副本存放在不同節點中。該方案可以應對單節點故障,而且事務提交操作沒有跨機房日誌同步操作,對事務響應時間影響最小。在單節點故障情況下,資料不丟失,原故障節點對外提供的服務可能會有幾秒或幾十秒的影響,需要應用程式重新建立資料庫的連線。
2)同城三機房,每個機房一個資料副本。該方案可以應對單機房故障,事務提交操作需要在同城機房間進行日誌同步,對事務響應時間有較小影響。
3)兩地三機房,可以使用3個副本或者5個副本。該方案在應對單機房故障的基礎上,如果存放單機房的城市發生故障,資料也不會丟失;事務提交操作大機率在同城機房間進行日誌同步,對事務響應時間有較小影響;但一旦同城的兩個機房中一個機房發生故障,事務提交就需要跨城日誌同步,對事務響應時間有較大影響。
4)三地三機房,多使用5個副本。可以應對城市級故障。事務提交操作需要跨城進行日誌同步,對事務響應時間有較大影響。
分散式資料庫架構可以有多種組合方式,以上4種方案也不是絕對的。不過在分散式架構下要重點關注網路的架構規劃和時延情況,還要考慮業務系統的部署方案,比如對於可用性要求特別高的系統,可採用三地三機房方案將分散式資料庫系統部署到三地三機房中,業務系統也需要部署到將相應的三個機房裡,避免跨城資料庫訪問造成的效能損失;同時每一次事務提交需要跨城事務日誌同步,對響應時間有一定的影響,這種情況下一定要提前測試驗證好各種場景下網路延時或網路抖動對應用系統和對分散式資料庫的影響情況。
來自 “ twt社群 ”, 原文作者:twt社群;原文連結:https://mp.weixin.qq.com/s/sH5PGPDpqz1KUeFcjrhUgw,如有侵權,請聯絡管理員刪除。
相關文章
- 聊聊Oracle的分散式資料庫技術Oracle分散式資料庫
- 資料庫產品影響力指數釋出,CirroData分散式資料庫上榜!資料庫分散式
- 聊聊分散式 SQL 資料庫Doris(三)分散式SQL資料庫
- 聊聊分散式 SQL 資料庫Doris(四)分散式SQL資料庫
- 聊聊分散式 SQL 資料庫Doris(六)分散式SQL資料庫
- 聊聊分散式 SQL 資料庫Doris(七)分散式SQL資料庫
- 聊聊分散式 SQL 資料庫Doris(八)分散式SQL資料庫
- 聊聊虛擬化和容器對資料庫的影響資料庫
- 3節點RAC資料庫夯故障分析資料庫
- mongo資料庫單節點搭建Go資料庫
- RAC資料庫只能啟動一個節點的故障資料庫
- “熱搜”中的分散式資料庫分散式資料庫
- C# Redis分散式鎖 - 單節點C#Redis分散式
- 分散式資料庫的定義和特點分散式資料庫
- Oracle 資料庫庫配置多路歸檔,防止單點故障Oracle資料庫
- TiUP線上佈署TIDB分散式資料庫叢集節點刪除TiDB分散式資料庫
- 崑崙分散式資料庫技術特點分散式資料庫
- 分散式資料庫事務故障恢復的原理與實踐分散式資料庫
- 分散式資料庫分散式資料庫
- 圖資料庫中的“分散式”和“切圖”資料庫分散式
- hadoop叢集搭建——單節點(偽分散式)Hadoop分散式
- 圖資料庫中的“分散式”和“資料切分”(切圖)資料庫分散式
- Golang 基於單節點 Redis 實現的分散式鎖GolangRedis分散式
- 雲資料庫MongoDB單節點系列釋出資料庫MongoDB
- Oracle RAC恢復成單節點資料庫Oracle資料庫
- 破解分散式庫使用難點:資料分片策略分散式
- 分散式資料庫概述分散式資料庫
- RAC資料庫的RMAN備份異機恢復到單節點資料庫資料庫
- Greenplum資料庫,分散式資料庫,大資料資料庫分散式大資料
- 磁碟排序對Oracle資料庫效能的影響排序Oracle資料庫
- 分散式資料庫 ZNBase 的分散式計劃生成分散式資料庫
- (三) MdbCluster分散式記憶體資料庫——節點狀態變化及分片調整分散式記憶體資料庫
- 資料庫調優和資料遷移是如何影響資料庫的RY資料庫
- Oracle分散式系統中的全域性資料庫名Oracle分散式資料庫
- 分散式資料庫系列(三)分散式資料庫
- 分散式資料庫系列(二)分散式資料庫
- 分散式資料庫系列(一)分散式資料庫
- 聊聊redisson的分散式鎖Redis分散式