我的数据库中包含超过100万个文档。我必须启用“三个字符位置”并创建一些新索引。执行完所有这些重建索引后,将自动触发。
直到这一刻,它非常简单。
现在棘手的部分是,我有一个增量备份,在恢复它时,我想重新索引仅用于更新的数据(通过增量备份添加的数据),但是它会被触发以获得完整的数据(即增量备份中的数据+数据存在先前)。
有没有办法只重新索引增量数据?
PS:有数据库附加的主动和被动副本。我们也可以将它们用于此目的
答案 0 :(得分:1)
当您重新索引并稍后从备份还原数据时,您将丢失所有重新编制索引的数据。这就是你发生的事情。
还原时,您将能够还原完整备份或完全备份+增量备份。没有选项只能恢复增量备份。
添加索引并在重新建立索引后,您需要进行完全备份或增量备份(如果重新索引影响了所有数据,则可能包含整个数据集)。
如果重新编制索引对您造成影响,您可以根据自己的业务案例选择多种选项: 1.实现分层存储 - 范围分区:这有助于在数据分离时将数据分离并将数据分配给特定的林。您可以在添加新索引时根据需要附加和分离林。分离的林数据在重新附加之前可能无法应用,但在不需要时将避免重新索引到整个数据集。 2.实施分层存储 - 子数据库:这有助于根据某些分类来隔离数据,并仅重新索引所需的子数据库 3.数据库复制 - 首先设置外部副本集群并在外部副本集群中添加索引,然后启用重新索引器。重新建立索引后,请在发生中断时进行备份并在主群集中将其还原。数据库还原完成后,在主群集中添加索引。