mongodb - mongorestore 操作是否添加到 oplog?
问题描述
当我执行如下命令时:
mongorestore --drop --db my_db dump/my_db
数据库的删除和添加是否存储在 oplog 事件中,以便像 Fivetran、Hevo 等 ETL 工具能够捕获这些事件并在目标数据仓库上执行相同的操作?
解决方案
假设您的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 进程的数据可能很有用。
推荐阅读
- arrays - SC2207 来自 subshell 的 Bash 数组分配未按预期拆分
- python - 为什么 pip 不安装最新版本的软件包,即使 PyPI 上有更新版本?
- c# - 如何更改 selenium 远程 Web 驱动程序中的用户代理
- jquery - jquery 用于在 woocommerce 中显示每个下拉列表
- php - 目标空白不适用于 wordpress
- sql - 尝试将日期时间数据输入日期列,日期数据有两种不同的格式
- node.js - 为未经授权的用户模糊照片
- sql - 在数据库中存储 HTML 的有效方法
- angular - Electron/electron-packager 角度桌面应用程序 - 对 localhost 服务器的 http 请求被拒绝和阻止
- bash - git - 如何在不更新头部的情况下使用特定的 commitid 更改文件?