1. 程式人生 > >大資料的解決方案--------讀寫分離

大資料的解決方案--------讀寫分離

讀寫分離的本質是對資料庫進行叢集,這樣就可以在高併發的情況下將資料庫的操作分配到多個數據庫伺服器去處理從而降低單臺伺服器的壓力,不過由於資料庫的特殊性–每臺伺服器所儲存的資料都需要一致,所以資料同步就成了資料庫叢集中最核心的問題。如果多臺伺服器都可以寫資料同步將變得非常複雜,所以一般情況下是將寫入(增刪改)資料後從底層同步到別的伺服器中(從伺服器),讀資料的時候到從伺服器讀取,從伺服器可以有多臺,這樣就可以實現讀寫分離,並且將讀請求分配到多個伺服器處理。主伺服器向從伺服器同步資料時,如果從伺服器數量多,那麼可以讓主伺服器先向其中一部分從伺服器同步資料,第一部分從伺服器接受到資料後再向另外一部分同步,這是結構如下:

— 簡單的資料同步方式可以採用資料庫的熱備份功能,不過讀取到的資料可能會存在一定的滯後性,高階的方式需要使用專門的軟硬體配合。另外既然是叢集就涉及負載均衡的問題,負載均衡和讀寫分離的操作一般採用專門程式處理,而且對應用系統來說是透明的。