架构
{
"_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 个端口。
答案是组合吗?我应该使用日期时间的一部分,比如月份还是星期?