使用 nosql 批量更新所有数据

Mass update of all data with nosql

努力了解完整更新的最佳实践。

场景示例是如果我在硬盘驱动器上为每个文件存储一个文档。每天运行一个进程更新所有文件信息。删除的文件不需要保留历史记录,文件就可以了。

显然查询每条记录是低效的,并且不会覆盖已删除的文件(数据流只有一种方式)。

所以我猜选项是:

1) 把所有有时间戳的记录存起来,然后把昨天的记录全部删除

2) 删除数据库,但是我会失去所有的观点等等

3) 还有别的吗?

No history needs to be kept of deleted files

如果你使用一个数据库,每次你删除你的文件时,它都会保留你的文件的墓碑(它不会使用很多 space 但仍然......)

这是我会使用的解决方案:

  1. 使用设计文档创建模板数据库。在那里保持你的观点。
  2. 创建执行以下操作的脚本:

    • 用今天的日期创建一个数据库
    • 从模板数据库复制 _design 文档
    • 将您的数据添加到数据库

使用此解决方案,每天的内容都可以从 CouchDB 中完全删除。