High Scaling Websites Structure Learning Notes 大型網站架構學習筆記

分散式資料

在做資料庫分散之後,若單一資料表的資料太多,我們會想要用分散資料庫的概念,對資料表中的資料進行分散式處理,而會再需要更改程式讀取資料庫及資料表的邏輯架構。

而在這我們就需要規劃資料分散在多個資料庫及資料表的架構,要怎麼去存取,我們通常會設計一個統一的資料庫及資料表資源分散的統一架構,去進行管理資源的存放及存取方式。

像是 Facebook 每天有好幾百萬千萬的文章資訊會被發表出來,我們可能會對各個使用者做文章存取的資源分配,將使用者的資源分配記錄記在統一個資源管理架構中做記錄,紀錄的資訊可能會是 User A 的文章資料存放在 DB_1 及 TABLE_2,而 User B 的文章資料存放在 DB_3 及 TABLE_1,當要存取個別使用者的資料資料,根據資源管理分配的的方式,分別去不同的資料庫及資料表撈取資料。

而當需要使用分散式資料的情況下,可能也會發現因為資料量過大,導致快取同步的方式出了問題,讓快取不能只存放在本地端而用同步的方式進行分享,可能需要採用分散式快取的方式去快取資料。

架構圖:

增加 Database Server

參考資料