在MySQL中,我们在复制过程中拥有复制do-db/ replicate忽略-db,在这里我们可以复制或限制特定的数据库,从主数据库到从数据库。
类似地,在MongoDB复制中是否有任何特定的配置或工作来限制数据同步期间的特定数据库和集合。
如果没有,是否有任何其他方法只同步特定的数据库或集合从主到从。
我使用的是MongoDB 3.6
发布于 2019-12-11 04:33:06
MongoDB中的副本集是为数据冗余和故障转移而设计的,因此副本集的所有包含数据的成员目前都包含与MongoDB 4.2中相同的数据库和集合。拥有部分数据集的成员将无法实现副本集部署的这些关键设计目标之一。
有一个相关的服务器问题您可以查看和更新:服务器-1559:副本集节点只能拥有数据库或集合的子集的能力。这是目前的开发积压,但有一种替代方法,您可以在过渡期间使用。
如果您想支持非标准复制/同步方案,我将考虑编写一个小程序来使用MongoDB 变更流API复制所需的更改。更改流事件基于复制oplog,允许您根据命名空间、操作类型或字段值等条件筛选和处理相关事件。您还可以使用其他聚合阶段(例如,投影字段子集或添加计算字段)来修改更改流输出。最重要的是,Change Streams API为您提供了一个支持的MongoDB服务器未来版本的升级路径。
在MongoDB 3.6中,您只能在集合级别打开更改流。由于您对数据库或部署级别的更改感兴趣,因此值得升级到MongoDB 4.0,其中包括更全面的变更流支持。
https://dba.stackexchange.com/questions/254064
复制相似问题