我对 1 个对象的数据大小有疑问。而且我不知道我的数据模型是真的吗?情况如下:我有 25 个服务器、200 个服务器计数器和 1440 分钟数据。我的目的是保存服务器计数器的每日数据。但是查询性能对我来说很重要。
我脑子里有 3 个模型,但我不知道哪一个更适合我的项目。
1-服务器根:
我的数据模型:
{ "_id":Object(....),
"serverId":0
"counters": [
{ "counterId":0 , "inserted": ISODate(...) , "counterValue":122.2131 , "min":121 , "max":33333} ,
.
.1440 times "counterId":0
.
{ "counterId":1 , "inserted": ISODate(...) , "counterValue":122.2131 , "min":121 , "max":33333} ,
.
.1440 times "counterId":1
.
.
. 200 Counters
.
{ "counterId":200 , "inserted": ISODate(...) , "counterValue":122.2131 , "min":121 , "max":33333}
.
.1440 times "counterId":200
.
] },
.
.
.25 Server
.
.
{ "_id":Object(....),
"serverId":25
"counters": [
{ "counterId":0 , "inserted": ISODate(...) , "counterValue":122.2131 , "min":121 , "max":33333} ,
.
.1440 times "counterId":0
.
{ "counterId":1 , "inserted": ISODate(...) , "counterValue":122.2131 , "min":121 , "max":33333} ,
.
.1440 times "counterId":1
.
.
. 200 Counters
.
{ "counterId":200 , "inserted": ISODate(...) , "counterValue":122.2131 , "min":121 , "max":33333}
.
.1440 times "counterId":200
.
] },
问题:----查询聚合框架的性能-:当我尝试查找 1 天的平均计数器值时,需要:12 秒 ---数据大小----不可能像 16 Mb 那样建模我尝试时吃饱了。
2-计数器根:
我的数据模型:
{ "_id":Object(....),
"counterId":0
"servers": [
{ "serverId":0, "inserted": ISODate(...) , "counterValue":122.2131 , "min":121 , "max":33333} ,
.
.1440 times "serverId":0
.
{ "serverId":1 , "inserted": ISODate(...) , "counterValue":122.2131 , "min":121 , "max":33333} ,
.
.1440 times "serverId":1
.
.
. 25 Server
.
{ "serverId":25 , "inserted": ISODate(...) , "counterValue":122.2131 , "min":121 , "max":33333}
.
.1440 times "serverId":200
.
] },
.
.
.200 Counter
.
.
{ "_id":Object(....),
"counterId":200
"servers": [
{ "serverId":0, "inserted": ISODate(...) , "counterValue":122.2131 , "min":121 , "max":33333} ,
.
.1440 times "serverId":0
.
{ "serverId":1 , "inserted": ISODate(...) , "counterValue":122.2131 , "min":121 , "max":33333} ,
.
.1440 times "serverId":1
.
.
. 25 Server
.
{ "serverId":25 , "inserted": ISODate(...) , "counterValue":122.2131 , "min":121 , "max":33333}
.
.1440 times "serverId":200
.
] },
问题:----查询聚合框架的性能-:当我尝试查找 1 天的平均计数器值时,需要:7 秒 ---数据大小----不可能像 16 Mb 那样建模当我尝试时已经吃饱了。但是我把它分成了 2 块。
3-没有根:
我的数据模型:
{ "_id" : ObjectId("515921e3bbea58d25eb07b22"), "serverId" : 0, "counterId" : 0, "inserted" : ISODate("2013-03-21T00:26:30Z"), "counterValue" : 0.03256159112788737, "min" : -29.967438408872113, "max" : 20.032561591127887 }
.
.7 billion data
.
问题:----查询聚合框架的性能--:当我尝试查找 1 天的平均计数器值时,需要:7 秒
SO:我无法决定必须使用哪种数据模型,
谢谢..