分散式資料庫—複製
為了讓資料庫備份、高可用性、低延時。
文本於此


為什麼
借鏡單台機器。
- 擴增性:放更多 CPU/Memory/Disk
- 容錯性:即時置換(hot-swappable)
- 共享磁碟(shared-disk)的架構
無共享(shared-nothing)架構
分散式資料庫

複製:資料庫間的資料同步
分區:把資料分裝

怎麼複製?
中文 |
統一 |
其他 |
單一領袖 |
leader/follower |
master/slave(standby), active/passive, primary/secondary |
多領袖 |
multi-leader |
master/master, active/active |
無領袖 |
leaderless |
dynamo-style |

單一領袖


趕工
新的追隨者
領袖失能造成的問題
- 舊領袖重啟後,尚未同步的資料要怎麼處理?
- 舊領袖重啟後,仍然認為自己是領袖怎麼辦?
- 偵測存活的時間區間要設多少?
同異步

複製日誌

適合單一資料中心
多領袖

多領袖的好處
多領袖的壞處
多領袖其實很常發生
拓撲

單一領袖也有拓撲

處理衝突
- 避免衝突
- Last Write Win(LWW)
- 劃分領袖階級
- 記錄衝突,給人解
其他處理衝突的領域
梳理因果

版本向量

無領袖


需要全部送成功嗎?

鴿巢原理

維持資料庫的一致性

定期整併

無領袖的優缺點
其他
分散式資料庫—複製 為了讓資料庫備份、高可用性、低延時。 文本於此
{"metaMigratedAt":"2023-06-16T18:49:35.637Z","metaMigratedFrom":"YAML","title":"分散式資料庫—複製","breaks":true,"description":"為了讓資料庫備份、高可用性、低延時。","contributors":"[{\"id\":\"c945b58d-6d0e-4680-a2c3-b297ba669e68\",\"add\":17763,\"del\":3593}]"}