iT邦幫忙

2022 iThome 鐵人賽

DAY 6
0
Software Development

NoSQL: Not Only SQL系列 第 6

[Day 6] Master-Slave Replication 主從複製

  • 分享至 

  • xImage
  •  

起初,在一台資料庫無法處理所有需求時,於是決定加開一台變成兩台,但兩台主機該如何分工?觀察對資料庫的請求發現請求可以分為兩類:讀取和寫入,那麼一台負責寫而另一台則負責讀,似乎是個明確的分工方式。資料庫身為儲存資料的系統,兩台主機必須都在本機擁有資料才能提供讀或寫的服務,所以負責接受處理寫入的主機的另一個責任就是同步給其他負責讀取的主機所有資料異動,好讓他們可以用最新的資料回應請求。當然,負責寫入的主機本身就擁有資料,所以也可以處理讀取的請求。

https://ithelp.ithome.com.tw/upload/images/20220908/20151137EGkbQpJDfw.png

這種模式中,負責處理寫入的主機為 Master,其餘主機為 Slave。若 Master 出狀況無法運作時,其中一台 Slaves 會晉升為 Master,由新的 Master 接管所有的寫入工作,其餘 Slaves 也會改與新 Master 同步資料。

https://ithelp.ithome.com.tw/upload/images/20220908/20151137tdxHBwQeZW.png

一台 Master 可以搭配多台 Slave,能夠消化大量的讀取請求,但由於只有一台 Master,寫入請求仍有瓶頸,且無法靠加機器解決,因此 Master-Slave 模式適合大量讀取且沒有大量寫入的情境。


上一篇
[Day 5] CAP理論:取捨取捨,到底取什麼捨什麼?
下一篇
[Day 7] Peer-to-peer Replication 點對點複製
系列文
NoSQL: Not Only SQL30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言