如何在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,或两者兼有