如何在mongodb中有效存储快速变化的时间序列数据?

时间:2015-03-25 08:28:12

标签: node.js mongodb time-series hardware database

我有一个由光传感器生成的实时时间序列数据,并在公共javascript文件中呈现为快速变化(每20毫秒刷新一次)变量。如何有效地将它们存储到mongo中?有人可以给我一些关于最佳实践的建议吗?

2 个答案:

答案 0 :(得分:1)

这听起来像是使用mongodb Capped Collections的好例子。

  

加盖集合是固定大小的集合,支持基于插入顺序插入和检索文档的高吞吐量操作。加盖的集合以类似于循环缓冲区的方式工作:一旦集合填充其分配的空间,它就会通过覆盖集合中最旧的文档为新文档腾出空间。

您可以将每个光传感器测量值作为新文档插入到上限集合中,然后您可以按照插入时的相同顺序有效地检索测量值,也不必担心存储空间不足。

答案 1 :(得分:0)

这篇mongodb博客文章详细介绍了在mongodb中存储时间序列数据的各种方法: Schema Design for Time Series Data in MongoDB