数据复制服务 DRS-将DDS同步到Kafka:使用须知

时间:2024-11-26 14:45:23

使用须知

在创建同步任务前,请务必阅读以下使用须知。

  • 建议创建单独用于DRS任务连接的数据库账号,避免因为数据库账号密码修改,导致的任务连接失败。
  • 连接源和目标数据库的账号密码修改后,请参考修改连接信息章节修改DRS任务的连接信息,避免任务连接失败后自动重试,导致数据库账号被锁定影响使用。
表2 使用须知

类型名称

使用和操作限制

数据库权限设置

源数据库最小权限要求:

  • 增量同步权限要求:

    连接源数据库的用户需要有admin库的readAnyDatabase权限。

源数据库要求

  • 增量同步时,源数据库的Oplog日志必须打开。
  • 在磁盘空间允许的情况下,建议源数据库Oplog保存时间越长越好,建议为3天。
  • 源数据库的库名不能包含/\."$和空格,集合名中不能包含$字符或以system.开头。
  • 如果源数据库是集群,则必须关闭Balancer并清理孤儿文档。详细操作可参考如何关闭集合均衡器Balancer分片集群MongoDB迁移前清除孤儿文档

目标数据库要求

  • 目标库为社区Kafka。
  • Kafka的auto.create.topics.enable参数建议为false。

操作须知

  • 同步会消耗源数据库一定量的CPU,内存资源,请提前做好源数据库资源评估。
  • 受MongoDB Change Streams自身性能影响,如果源库的负载比较大,Change Streams会出现处理速度无法跟上Oplog产生速度,进而导致DRS同步出现时延。
  • 支持的DML:insert、update、replace、delete。
  • 支持的DDL:目前仅支持drop database,drop collection,rename的DDL,其他DDL均不支持。
  • 增量阶段单表最多支持10000条/秒左右的同步速度。
  • 启动时,指定的启动位点必须在Oplog的范围内。
  • 同步过程中,不允许修改、删除连接源和目标数据库的用户的用户名、密码、权限,或修改源和目标数据库的端口号。
  • 在整个同步过程中,为了保持数据一致性,不允许对正在同步中的目标数据库进行修改操作(包括但不限于DDL、DML操作)。
  • 不支持增量同步阶段insert、update源库大于16MB的文档。
  • 增量同步过程中暂停、任务异常续传,目标Kafka中可能会出现重复数据,请使用Kafka数据中的id字段进行去重。
  • 增量同步过程中,请勿在Kafka上删除接收DRS数据的topic,否则可能导致任务失败。
support.huaweicloud.com/realtimesyn-drs/drs_04_0512.html