Sharding V.S. Multiple Database

最近看到一篇文章在討論Database Sharding和Having Multiple Database之間的差異。



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 

Share this post!

Bookmark and Share

1 意見:

匿名 提到...

顶,好文章,学长毕业了吗?