本页面简要介绍了流并发控制,例如并发变更数据捕获 (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 参考文档。