本页面简要介绍了流并发控制,例如并发变更数据捕获 (CDC) 任务和回填任务的数量上限。您可以通过增加或减少这些参数的值来控制串流性能。
并发控制概览
通过使用并发控制功能,您可以加快回填和 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 更改并发控制参数的值。
- 如需了解如何增加或减少并发 CDC 任务的数量,请参阅更改并发 CDC 任务的数量上限。
- 如需了解如何增加或减少并发回填任务的数量,请参阅更改并发回填任务的数量上限
后续步骤
- 如需详细了解如何使用 Datastream API,请参阅管理数据流。
- 如需详细了解
Stream
资源,请参阅 Datastream API 参考文档。