首页 > 解决方案 > mongorestore 操作是否添加到 oplog?

问题描述

当我执行如下命令时:

mongorestore --drop --db my_db dump/my_db

数据库的删除和添加是否存储在 oplog 事件中,以便像 Fivetran、Hevo 等 ETL 工具能够捕获这些事件并在目标数据仓库上执行相同的操作?

标签: mongodbetlmongorestore

解决方案


假设您的mongorestore命令的目标是副本集或分片集群,则所有数据更改都必须通过 oplog 复制。应用程序可以使用Change Streams API (MongoDB 3.6+) 或直接跟踪 oplog来观察事件流。oplog 格式是内部的,可能会在 MongoDB 版本之间发生变化,因此建议基于 Change Streams API(构建在 oplog 之上)进行集成。

Change Streams API 允许监视 MongoDB 3.6 中集合级别的更改,以及 MongoDB 4.0+ 中的数据库或部署范围。您可以根据需要拥有多个变更流来支持您的 ETL 用例。变更流还可以修改它们的输出,这对于编辑或限制发送到单独 ETL 进程的数据可能很有用。


推荐阅读