因此,当删除文档时,元数据实际上会永久保留。对于像 cloudant 这样的托管服务,每个月都会产生存储费用,我反而想完全清除已删除的文档。
我在某处读到过有关您使用的设计模式的信息dbcopy为了将文档放入“当前”数据库,然后定期删除过期的数据库。但我找不到这篇文章,而且我不太明白数据库命名是如何工作的。 Cloudant 客户端如何始终知道“当前”数据库名称?
Cloudant 不会公开 _purge 端点(集群节点之间的松散一致性保证使得清除变得棘手)。
此问题最常见的解决方案是创建第二个数据库并使用带有 validate_document_update 的复制,以便拒绝目标数据库中没有现有条目的已删除文档。复制完成后(如果使用连续复制,则为可接受的最新状态),将应用程序切换为使用新数据库并删除旧数据库。目前无法重命名数据库,但您可以使用指向“当前”数据库的虚拟主机。
我要提醒您的是,生成高比例已删除:活动文档的工作负载通常是 Cloudant 中的反模式。我首先会考虑是否可以更改文档模型来避免它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)