[英]mongodb range sharding with string field
我在mongodb文檔中使用“ id”字段,這是“ _id”(由mongo生成的ObjectId字段)的哈希值。 我想在“ id”字段中使用RANGE分片。 問題如下:
當'shardKey'是一些長字符串(例如64個字符)時,如何設置每個分片的范圍?
如果您希望基於哈希鍵來分發數據,MongoDB具有一種內置方法:
sh.shardCollection("yourDB.yourCollection", { _id: "hashed" })
這樣,數據將在各個分片之間隨機分布,並且均勻(或非常接近)分布。
請注意,您不能同時擁有邏輯鍵范圍和隨機數據分布。 兩者都是互斥的。 所以:
{ fieldName: "hashed" }
作為分片鍵定義。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.