我需要在mongodb(每5秒钟后)存储一些指标的高频率,周期性时间序列数据,因为正常方法太昂贵了:
{
timestamp: ISODate("2013-10-10T23:06:37.000Z"),
type: String,
value: Number
},
我想写一个优化的here,文档看起来像:
{
timestamp_hour: ISODate("2013-10-10T23:06:00.000Z"),
type: “memory_used”,
values: {
0: 999999,
…
37: 1000000,
38: 1500000,
…
720: 2000000,
}
}
在上面的模型中,而不是每5秒存储一个文档,我每1小时存储一个文档,并将在特定时间内生成的所有数据存储在“values”对象中作为键值对。
为了尽可能减小文档大小并在获取数据时提高性能,我应该使用Array来存储值或动态对象,哪一个会给我最小的尺寸和最快的读取(我将需要在任何特定文件中读取的大块值?)
如果我使用该对象,如何定义它的模式,因为值的数量(上例中的720)不是常量,它可以被更改。