Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在MongoDB中选择分片密钥?_Mongodb_Sharding - Fatal编程技术网

如何在MongoDB中选择分片密钥?

如何在MongoDB中选择分片密钥?,mongodb,sharding,Mongodb,Sharding,以下是我的收藏中大多数文档的外观示例: { "_id": { "$oid": "5f4554c10a25b0767af59b0e" }, "ClientName": "Client-A", "LogSourceCategory": "EapServerLog", "ClientId": "41&quo

以下是我的收藏中大多数文档的外观示例:

{
  "_id": {
    "$oid": "5f4554c10a25b0767af59b0e"
  },
  "ClientName": "Client-A",
  "LogSourceCategory": "EapServerLog",
  "ClientId": "41",
  "ServerGroupName": "HYB-EAP7-HC1:41_Client-A_1.1",
  "NodeName": "41_Client-A_1.1",
  "RequestedTime": "2020-08-25 23:43:21.546",
  "UUID": "UUID-c5e6d84a-d30b-445b-b315-8fd4e81b790a",
  "Environment": "Production"
}
这里唯一高度基数的字段是单调递增的请求时间。其他字段每个字段最多只能有10个可能的值。UUID是高度随机的。哪一个是最好的切分键?我应该选择复合键吗?我可以选择_id作为碎片密钥吗

注意:超过70%的读取操作将在查询中使用RequestedTime或ClientName,或两者兼有