视频流并发控制

借助 Datastream 中的数据流并发控制,您可以管理数据流运行的并行变更数据捕获 (CDC) 任务和回填任务的数量上限。您可以在 Datastream API 中调整这些参数,以提高复制吞吐量或限制源数据库上的负载。

并发控制概览

通过使用并发控制,您可以实现更快的补缺和 CDC,也可以平衡源数据库上的负载。如果您需要更高的吞吐量,并且可以承受数据库上的更高负载,则可以提高 CDC 和回填任务的并发性。相反,如果您的数据库负载较高,并且您希望防止其过载,则可以减小这些参数的值。

CDC 任务数上限

maxConcurrentCdcTasks 参数可让您控制数据流并行运行的 CDC 任务数量。如需提高 CDC 吞吐量,请增加此参数的值,并允许 Datastream 同时处理更多 CDC 日志文件。

该参数的主要特征包括:

  • 默认值为 5。您可以将此参数设置为 1 到 50 之间的任何值(含边界值)。
  • 此参数仅适用于 Oracle 和 MySQL 来源。
  • 只有当可供读取的数据库日志文件多于 CDC 任务时,该参数才会产生影响。日志文件设置由源数据库配置参数控制:日志文件大小上限和日志轮换时间间隔上限。如需详细了解这些参数,请参阅 Oracle 和 MySQL 文档。
  • 如果您减少并发 CDC 任务的数量,Datastream 可能会落后于数据库日志,这最终可能会导致日志位置丢失和流失败。

回填任务数上限

maxConcurrentBackfillTasks 参数可让您控制数据流可以并行运行的回填任务数量。您可以增加或减少此值,以控制回填吞吐量。

该参数的主要特征包括:

  • 默认值为 15。您可以将此参数设置为 1 到 50 之间的任何值(含边界值)。
  • 增加回填并发性会带来很高的风险,因为回填任务会对数据库性能产生重大影响。每个回填任务都会对表运行未过滤的 SELECT 查询,对于大型表,此类查询会返回大量行。
  • 如果您降低回填并发,则除了回填需要更长时间才能完成之外,对源数据库没有任何负面影响。

更改并发控制的值

您可以使用 Datastream API 更改并发控制参数的值。

后续步骤