基於範圍的分片會將資料劃分為由片鍵值確定的連續範圍。在此模型中,具有「接近」片鍵值的文件可能位於相同的塊或分片中。這允許在連續範圍內讀取目標文件的高效查詢。但是,如果片鍵選擇不佳,則讀取和寫入效能均可能降低。請參閱片鍵的選擇。
如果未配置任何其他選項(例如雜湊分片
或區域
所需的其他選項),則基於範圍的分片是預設的分片方式。
當片鍵呈現出以下特徵時,範圍分片更高效:
下圖說明了使用字段x
作為片鍵的分片群集。如果x
的值具有大取值範圍,低頻率以及非單調製化的特徵,則插入的分布可能類似於下面這樣:
使用sh.shardcollection()
方法,指定集合的完整命名空間以及作為片鍵的目標索引或復合索引。
sh.shardcollection( "database.collection", )
重要如果您對乙個已經包含資料的集合進行分片操作:
如果您對乙個空集合進行分片操作:
在建立初始塊之後,平衡器將在塊之間適當地遷移初始塊,並管理後續的塊分配。
如果已經為空集合或不存在的集合指定區域和區域範圍(從mongodb4.0.3版本起可用):
在初始分配之後,均衡器將管理後續的資料塊分配。
要了解如何部署分片集群和實現範圍分片,請參閱部署分片集群。
譯者:劉翔
mongodb中文社群翻譯小組成員
座標深圳的程式猿一枚,後台開發。工作中經常接觸mongodb,請多指教~
往期發布:
the mongo shell
mongodb crud操作
資料模型
事務
索引
安全
—— 配置審計
—— 配置審計過濾器
—— 系統事件審計訊息
複製
分片
管理
儲存
—— wiredtiger儲存引擎
—— 記憶體儲存引擎
喜歡我們,
請分享、點讚、在看三連哦~
mongo分片及驅動
在三颱機器上如下配置,其中檔名稱,ip,埠可作相應更改。1 拷貝程式到 opt 下,建立分片配置檔案。shard21.conf dbpath data shard21 logpath data shard21.log pidfilepath opt mongodb shard21.pid direc...
mongo資料庫分片技術的實現
近期在使用mongod資料庫時,由於資料量較大,每天資料量達到近億條資料,所以採取了mongo資料庫的分片技術,這裡對這幾天下來的開發做個總結。下面以分兩個分片進行說明,如果要進行分兩片,那麼必須要有四個目錄,每個目錄都要有 mongodb的例項,其中兩個用於儲存資料,乙個用於配置伺服器,乙個用於m...
Mongo實戰 分片集群的查詢與索引
從應用程式的角度來看,查詢分片集群和查詢單個mongod沒什麼區別。這兩種情況下,查詢介面和迭代結果集的過程是一樣的。但在外表之下,兩者還是有區別的,我們需要從細節層面進行了解。1.分片查詢型別 假設正在查詢乙個分片集群,為了返回乙個恰當的查詢響應,mongos要與多少個分片進行互動。稍微思考一下,...