流并发控制

本页面简要介绍了数据流并发控制,例如并发变更数据捕获 (CDC) 任务和回填任务的数量上限。您可以通过增加或减少这些参数的值来控制数据流性能。

并发控制概览

通过使用并发控制,您可以实现更快的回填和 CDC,或者平衡源数据库的负载。如果您需要更高的吞吐量,并且能够承受更高的数据库负载,则可以增加 CDC 和回填任务的并发。相反,如果您的数据库负载较高,而您希望防止其过载,则可以减少这些参数的值。

CDC 任务数量上限

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

该参数的关键特性包括:

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

回填任务数量上限

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

该参数的关键特性包括:

  • 默认值为 15。您可以将此参数设置为 150 之间的任何值(包括这两个数值)。
  • 增加回填并发设置存在高风险,因为回填任务会对数据库性能产生重大影响。每个回填任务都会对表运行未经过滤的 SELECT 查询,对于大型表,此类查询会返回大量行。
  • 如果您降低回填并发设置,除了需要更长时间才能完成回填之外,其他操作不会对源数据库产生任何负面影响。

更改并发控制的值

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

后续步骤