CouchDB中视图更新的原子性

时间:2017-02-25 06:16:08

标签: couchdb acid nosql

CouchDB文档清楚地表明单文档更新是ACID。但是我想知道这是否适用于由于文档更新而触发的视图的更新。

假设我有一个视图功能,可以在'类型'上显示具有特定值的文档数量。领域。如果服务器在插入具有该类型的文档后但在视图有时间更新之前立即崩溃会发生什么? CouchDB是否保证在下次服务器启动时更新视图?或者我是否必须等到其他事件触发重新计算视图?

1 个答案:

答案 0 :(得分:1)

视图与_changes Feed一样,实际上只是使用与数据库本身相同的仅附加模型构建。更新文档时,实际上并没有等待视图更新。实际上,只有在查询视图时才会更新视图。

因此,即使数据库在文档更改和视图重建之间崩溃,这也无关紧要,因为数据库实际上是一个日志/更改流,并且可以随时从中构建视图。