是否可以创建在插​​入时构建的索引,而不是查询时间?

时间:2017-05-09 14:07:07

标签: couchdb

我在Raspberry Pi 3上使用CouchDB。我的用例:

使用多进程python应用程序收集来自多个源的传感器数据,捕获收集时的时间戳。由于多个线程,如果序列化的数据经常出现故障。我想将数据放入一些数据结构中,以便可以快速排序并让其他流程近乎实时地获取数据以进行进一步处理。

我的问题是(使用CouchDB),我在时间戳上构建索引的视图仅在读取时创建,并且构建需要很长时间。我正在寻找的是来自RDBMS的索引行为,它在插入数据时重建索引。这样,虽然插入每批插入物需要更长的时间,但至少它可以快速用于下一个过程。

我也考虑过Mongo,但我不喜欢RPi的2GB限制。还考虑了SQLite3,但更喜欢NoSQL的无模式特性。

1 个答案:

答案 0 :(得分:2)

我的建议是设置一些queries your view并通过stale=update_after的预定作业(可能是通过cron?)。请求本身将非常快,因为视图不是在查询时计算的,而是异步发生的。

这是我见过推荐的模式,试图避免第一个用户查询视图的巨大惩罚,并且应该在这里工作得很好。查询视图并需要实时结果时,可以省略stale参数。

相关问题