- Apache ShardingSphere權威指南
- 潘娟 張亮 (阿爾及利亞)亞幸·西·塔伊布
- 582字
- 2024-10-25 14:08:42
1.3.4 擁抱透明的分片中間件
透明的分片中間件將數據庫分成多個分片(shard),這些分片存儲在由單節點DBMS實例組成的集群中。ShardingSphere就是這樣做的。
諸如ShardingSphere等分片中間件讓用戶(或組織)能夠將數據庫分成多個分片,并將它們存儲在多個單節點DBMS實例中。本節將幫助你搞明白什么是數據分片。DBA始終在尋找對DBMS進行優化的途徑;出現數據輸入高峰時,必須有適當的處理策略。對于這種問題,最佳的處理方法之一是,將數據分成獨立的行和列,這樣的方法包括數據分片和數據分區。下面來介紹這兩個概念以及它們之間的不同之處。
1.數據分片
將大型數據庫表分成多個小表時,便創建了分片。新創建的表被稱為分片或分區。這些分片存儲在多個節點中,這提高了可伸縮性和性能。這種可伸縮性被稱為水平伸縮性。分片能夠讓DBA以盡可能高效的方式使用計算資源,這被稱為數據庫優化。
優化計算資源只是分片的重要優點之一,重要的是它可減少需要掃描的行數,讓用戶查詢的響應速度比使用單個巨型數據庫時快得多。
2.數據分區
說到分區,你可能感到困惑,這是完全正常的,因為數據分區常常讓人誤解。所謂分區,指的是將數據庫分成多個子集,但這些子集依然存儲在單個數據庫(單個數據庫有時也被稱為數據庫實例)中。那么分片和分區有何不同呢?分片和分區都將大型數據集分成多個小型數據集,但一個重要的不同是,分片意味著劃分后的數據分散在多臺計算機中,無論是水平分片還是垂直分片都如此。