【发布时间】:2012-10-09 08:06:00
【问题描述】:
架构
{
"_id" : ObjectId("5069d68700a2934015000000"),
"port_name" : "CL1-A",
"metric" : 340,
"port_number" : "0",
"datetime" : ISODate("2012-09-30T13:44:00Z"),
"array_serial" : "12345"
}
每个数组有 128 个端口,每个文档是该指标的一分钟数据。由于基数低,array_serial 似乎不是分片键的好选择,也就是说,串行12345 的所有数据都必须保留在同一个分片上而不是分成块,对吗?
port_number 似乎允许中等基数,但它会导致查询隔离失败,因为对同一阵列上多个端口的单个查询将跨越多个分片。我预计用户一次不需要查询超过 4-8 个端口。
答案是组合吗?我应该使用日期时间的一部分,比如月份还是星期?
【问题讨论】: