Sharding的基本原則和概念就是把資料進行切割,分別存放在不同的資料庫中。但是怎麼切割就是一門學問,如果我們依照下圖一樣,將資料庫分成:User、Images、Comments,看起來似乎是沒問題,把資料分開在不同的資料庫中儲存,但是,當我們需要取得某個使用者的資料時,這三個資料庫都必須要進行Access。
比較好的作法是如下圖所示,不同的資料庫儲存不同使用者的所有資料,如此一來,當我們需要針對某位使用者進行存取時,只要針對單一資料庫Access即可。一個好的Sharding,會確保相關的資料都被存放在同樣的位置(a good sharding function would make sure that related information is located on the same server)。
【相關閱讀】
Sharding vs. Having multiple databases
1 意見:
顶,好文章,学长毕业了吗?
張貼留言