我目前正在使用MongoDB来存储一些传感器的大量实时信号。存储的信息包括时间戳,数值和指示信号质量的标志。
查询非常快,但使用的磁盘数量过高,并且想尝试最适合我目的的其他非关系数据库。
我一直在关注http://nosql-database.org/,但我不知道哪个数据库最符合我的需求。
非常感谢:)
答案 0 :(得分:2)
答案 1 :(得分:2)
MongoDB在每个文档中存储字段名称,这很好,因为它允许所有文档具有不同的字段,但是当字段始终相同时会产生存储开销。
要减少磁盘消耗,请尝试缩短字段名称,而不是:
{
_id: "47cc67093475061e3d95369d",
timestamp: "2011-06-09T17:46:21",
value: 314159,
quality: 3
}
试试这个:
{
_id: "47cc67093475061e3d95369d",
t: "2011-06-09T17:46:21",
v: 314159,
q: 3
}
然后,您可以将这些字段名称映射到应用程序中更有意义的内容。
此外,如果您要存储单独的_id
和timestamp
字段,那么您可能会加倍。
ObjectId类型中包含timestamp embedded,因此根据您查询和使用数据的方式,这可能意味着您无需单独使用单独的时间戳字段。
答案 2 :(得分:1)