使用MongoDB存储不可变数据?

时间:2016-01-16 16:15:13

标签: mongodb immutability

我们调查存储和读取大量不可变数据(事件)的选项,我想对MongoDB是否适合做一些反馈。

要求:

  1. 我们需要每秒存储大约10个事件(但速率会增加)。每个活动都很小,约1 Kb。是否可以将所有这些事件存储在同一个集合中?
  2. 一个非常重要的要求是我们需要能够按顺序重放所有事件。我读过here,当使用游标对文档进行排序时,MongoDB的限制为32 Mb。对我们来说,按照插入顺序读取所有数据(如表扫描)是可以的,因此可能不需要显式排序?游标是否可行,是否可以满足此要求?
  3. 如果MongoDB非常适合这种情况,那么一些配置或设置可以调整以提高不可变数据的性能或可靠性?

1 个答案:

答案 0 :(得分:0)

这与存储日志非常相似:大量写入,并按顺序读回数据。幸运的是,Mongo网站有一个配方:

https://docs.mongodb.org/ecosystem/use-cases/storing-log-data/

关于数据的不可变性,这对MongoDB来说不是问题。