我知道有时这是一个很好的功能,但如果我需要存储大量数据,那么围绕数据本身就没有其他"元数据".
有没有办法如何在CouchDB中禁用版本控制,或者我是否需要使用不同的数据库引擎,如Mongo?
小智 17
版本控制不是CouchDB的一个特性,它是将数据写入磁盘并与其他节点预先形成复制冲突的核心功能.它不是历史机制.
非常不幸的是,没有一个更好的术语,而不是version
提到以前的文件副本.因为version
大多数开发人员意味着存储的东西historical
.这不是CouchDB中的用途.
它遍布CouchDB文档,不依赖于以前的版本作为备份或版本控制系统,它们可能随时消失,因为它们主要用于复制冲突检测.但一个简单的事实是,这是不是一个功能,它仅仅是CouchDB的是如何工作的.
删除过去版本的唯一方法是定期压缩数据库.在当前版本的CouchDB中,可以使用挂钩到文档更新的脚本启用,并根据高水位阈值触发半自动压缩.通常,这是在批量更新大量文档后手动完成的,您知道从特定于应用程序的角度来看这可能是有益的.
也就是说,如果您没有更新文档,则不会生成历史记录,也不需要这样做.