Tim*_*jan 2 sharding cardinality mongodb mongodb-query
我正在创建一个使用MongoDB存储JSON对象的集合.我被困在Sharding部分.我有一个案例ID,客户ID和集合中每个记录的位置
案例ID是一个10位数字(只有数字,没有字母).
CustomerID是客户名称和案例ID的组合.
该位置是一个2dsphere值,我期待一个不同的值的位置.
除此之外,我还有记录的客户名称和案例描述.我的所有搜索查询都有Case ID,CustomerID或location的搜索条件.
在这种情况下,我可以基于所有这三个值(CaseID,CustomerID和位置)创建复合键.我相信这提供了高基数并且易于检索记录.
任何人都可以建议我,如果这是一个很好的方法,因为我没有找到包含三个值的复合分片键.
感谢您的时间,如果您需要任何信息,请告诉我
小智 13
首先要考虑的是是否需要进行分片.如果您的数据集适合单个服务器,则从非部署部署开始.如果需要,稍后可以轻松无缝地将其转换为分片群集.
假设您确实需要进行分片,则您选择的分片键应基于以下条件:
您提到所有查询都包含案例ID,客户ID或位置,但未描述您的用例.举个例子,我们假设您最常见的查询是:
在这种情况下,一个好的分片键候选将是该命令(name,caseID)上的复合分片键(以及相应的复合索引).考虑这是否满足上述标准:
请注意,您不能将地理空间索引用作分片键索引的一部分(如此处所述).但是,如果使用分片键的其他字段,则仍可以在分片集合上创建和使用地理空间索引.例如,使用上面的分片键:
有关分片键注意事项的其他文档可在此处找到.
| 归档时间: |
|
| 查看次数: |
2604 次 |
| 最近记录: |