iT邦幫忙

2022 iThome 鐵人賽

DAY 7
0
Software Development

NoSQL: Not Only SQL系列 第 7

[Day 7] Peer-to-peer Replication 點對點複製

  • 分享至 

  • xImage
  •  

Master-Slave 的模式限制在於只有一個 Master 處理寫入請求,那如果每個節點都可以寫入是不是就能克服這個限制?Peer-to-peer 模式裡每個節點一視同仁,沒有主從之分,每個節點都可以處理寫入請求,並將異動同步給其他所有結點。

https://ithelp.ithome.com.tw/upload/images/20220909/20151137ct119QdBqB.png

這種模式的好處是對於寫入請求的處理能力上升而且可擴展,但多節點間的同步成本提升,可能導致另一種效能上的問題。此外,如果同時有兩個端點收到對同一筆資料的異動,可能導致資料衝突,例如:DB 1 號收到請求將我的聯絡信箱改為 keiliao@email1.com,同時 DB 2 號收到請求將我的聯絡信箱改為 keiliao@email2.com,同步時究竟該把原本的信箱改為 keiliao@email1.com 還是 keiliao@email2.com 呢?資料衝突的處理是一件頗具複雜度的事情,所以使用 Peer-to-peer 模式時最好把如何避免資料衝突的部分考慮到系統設計中,當然,如果資料不一致的狀況是可接受的,乾脆不處理資料衝突也是一個選項,只是這樣就會造成資料不一致,並不是每個系統都可以接受這種情境。


上一篇
[Day 6] Master-Slave Replication 主從複製
下一篇
[Day 8] Partiton & Sharding 資料分片
系列文
NoSQL: Not Only SQL30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言