05.17 架構師,你需要了解的數據庫擴容方案

不說廢話的架構師成長之路

在數據量特別大的時候我們一般會對數據進行分庫分表,但是隨著業務發展,數據量也會膨脹,那麼當單庫已經不能承受太多的數據時,我們改如何對數據庫進行擴容。

舉例,我們以存儲用戶帖子信息為例,假如之前存儲用戶帖子是按照用戶id分2個庫,現在如何擴容?

現有的分庫方案:

架構師,你需要了解的數據庫擴容方案

那麼我們可以進行如下的擴展,首先增加4個備庫,備份方案如下:

架構師,你需要了解的數據庫擴容方案

其實我們很容易得出下的結論

* master0、slave00、slave01、slave02 存儲了所有uid%4==0 uid%4==2的數據

* master1、slave10、slave11、slave12 存儲了所有uid%4==1 uid%4==3的數據

然後更改數據庫的主從關係

架構師,你需要了解的數據庫擴容方案

最終,刪除各個數據庫中多餘的數據,擴容完成


分享到:


相關文章: