1

我最近正在研究一个时间序列数据项目来存储一些传感器数据。为了实现最大的插入/写入吞吐量,我使用了 capped 集合(根据 mongodb 文档 capped collection 将提高读/写性能)。当我使用 python 驱动程序测试集合以插入/写入数千个文档/记录时,没有索引的上限集合与正常集合相比,我看不出上限集合的写入性能与正常集合相比有多大差异。示例就像我使用 pymongo 驱动程序在单线程上插入 40K 记录。封顶收集大约需要 25.4 秒,正常收集需要 25.7 秒。

谁能解释一下我们什么时候可以实现上限集合的最大插入/写入吞吐量?这是时间序列数据收集的正确选择吗?

4

1 回答 1

2

存储到上限集合中的数据在超过上限集合的固定大小时进行轮换。Capped collections 不需要任何索引,因为它们保留了插入顺序,并且按照与数据库引用磁盘上文档的顺序相同的自然顺序检索数据。因此,它在插入和数据检索过程中提供了高性能。

有关 Capped 集合的更详细说明,请参阅 URL 中提到的文档

https://docs.mongodb.com/manual/core/capped-collections/

于 2017-05-30T09:24:59.340 回答