SQL Server CDC Client处理Microsoft SQL Server change data capture (CDC)表中的数据。origin支持使用多线程来并行处理数据。
SQL Server CDC Client源在记录头属性中包含CRUD操作类型,因此生成的记录可以由启用CRUD的destination轻松处理。
在配置origin时,指定SQL Server捕获实例名——源处理相关CDC表。可以在同一个数据库中定义表组和要使用的初始偏移量。当忽略初始偏移量时,origin将处理CDC表中的所有可用数据。
可以启用延迟表处理,以便origin处理管道启动后出现的表。还可以配置origin来检查已处理表中的schema更改,并在发现更改后生成事件。
多线程处理
启动管道时,SQL Server CDC Client检索与表配置中定义的源表关联的CDC表的列表。然后根据线程数属性使用多个并发线程。每个线程从单个表读取数据。
在管道运行时,每个线程连接到源系统并创建一批数据,并将该批数据传递给可用的pipeline runner。
批策略
每个origin线程从单个表创建一批数据。有如下策略:
1.处理表中所有可用的行
每个线程从一个表创建多批数据,直到从该表读取所有可用的行。该线程为从表中创建的所有批数据运行一个SQL查询。然后,线程切换到下一个可用表,运行另一个SQL查询从该表读取所有可用行。
2.在表间切换
每个线程给予Result set属性从一个表创建一批数据,然后切换到下一个可用表来创建下一批数据。该线程运行一个初始SQL查询从表中创建第一批数据。数据库将数据库中的结果集中剩余的行缓存起来,以便同一线程再次访问,然后线程切换到下一个可用的表。