我想了解關於MongoDB的分片概念。爲了理解這個概念,可以說我們有兩種情況:是否按數據庫或集合完成分片?
- 我有兩個數據庫'customer'和'item'。
- 我在同一個數據庫中有兩個集合'customer'和'item'。
「客戶」和「項目」數據集都很龐大(以TB計)。
我的問題是:在上面列出的場景中,sharding是如何設計的以及哪個是首選的。
我遇到過的例子討論了一個集合的分片。但是,當我們有多個數據庫/集合。我們如何處理它?
請指點我正確的方向。
我想了解關於MongoDB的分片概念。爲了理解這個概念,可以說我們有兩種情況:是否按數據庫或集合完成分片?
「客戶」和「項目」數據集都很龐大(以TB計)。
我的問題是:在上面列出的場景中,sharding是如何設計的以及哪個是首選的。
我遇到過的例子討論了一個集合的分片。但是,當我們有多個數據庫/集合。我們如何處理它?
請指點我正確的方向。
MongoDB在集合級別分發數據或碎片。
在這裏看到: https://docs.mongodb.org/manual/core/sharding-introduction/#data-partitioning
的程序需要你先啓用數據庫級別(這不會自動進行分片任何集合)分片。
我認爲你應該仔細閱讀文檔,因爲分片決不是魔術,並且需要徹底的計劃和理解力學。
我會通過文檔...謝謝 – scott
您可以在數據庫級別啓用它,但它是在集合級別上完成的。第一種情況不會提供任何真正的好處,即使鎖定也是如此(這也是爲什麼有些人用來分解數據)。至於如何處理它:MongoDB會爲你做,除非你選擇使用標籤,而這樣的 – Sammaye