2009-10-24 65 views
1

從數據庫設計角度來看Sharding的概念是什麼?Sharding從數據庫設計的角度意味着什麼?

+0

這大致相當於「疼痛,疼痛,疼痛」。但是,如果你必須的話,percona.com上有很多信息。特別是,我推薦http://www.percona.tv/performance/baron-schwartz-high-performance-mysql-from-a-boring-architecture-ppc-2009 – SquareCog 2009-10-24 23:39:25

+0

http://stackoverflow.com/questions的副本/ 992988 /什麼是分片 - 爲什麼 - 它是重要的 – 2009-10-25 07:06:20

回答

2

對跨數據庫服務器集羣的密鑰空間進行分區,以分配服務負載並提升整個系統的可伸縮性。

+1

關於分片的一篇很好的/詳細的文章:http://www.codefutures.com/database-sharding/ – 2009-10-24 23:31:20

1

那麼你可以從閱讀wikipedia article開始,也可以從Hibernate Shards文檔。如果你有更具體的問題,那麼問一下。

水平分區是一個設計原則 由此數據庫 表中的行是通過列分開保存,而不是 分裂(爲 正常化)。每個分區形成 分片的一部分,其可以依次位於單獨的數據庫服務器 或物理位置上的 。其優點是 每個表中的行數減少了 (這減少了索引大小,因此 提高了搜索性能)。

+3

這似乎等於分片與水平分區,這是誤導。 Sharding將db分解爲多個實例;它涉及複製共享狀態,將碎片遷移到負載平衡等問題。分區基於每個表,並且通常不涉及多個實例。 – SquareCog 2009-10-24 23:44:17