簡體   English   中英

帶字符串字段的mongodb范圍分片

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM