数据复制服务 DRS-GaussDB主备版数据同步到Kafka:同步Topic和Partition策略说明

时间:2024-10-17 16:42:11

同步Topic和Partition策略说明

表3 Topic和Partition策略说明

Topic策略

对应可选的Partition策略

说明

集中投递到一个Topic

对于源库业务量不大的场景,建议选择集中投递到一个Topic。

按库名.schema.表名的hash值投递到不同Partition

适用于单表的查询场景,可以提高单表读写性能,推荐使用此选项。

全部投递到Partition 0

适用于有事务要求的场景,写入性能比较差,如果没有强事务要求,不推荐使用此选项。

按表的主键值hash值投递到不同的Partition

适用于一个表一个Topic的场景,避免该表都写到同一个分区,消费者可以并行从各分区获取数据。

按库名.schema的hash值投递到不同Partition

适用于一个database一个topic的场景,避免多个schema下的数据都写到一个分区,消费者可以并行从各分区获取数据。

按表的非主键列值的hash值投递到不同的Partition

适用于一个表一个Topic的场景,避免该表都写到同一个分区,用户可以按照非主键列值的hash值自定义message key,消费者可以并行从各分区获取数据。

按库名-schema-表名自动生成Topic名字

如果每张表数据量都非常大,建议选择自动生成Topic名字,按库名-schema-表名确定一个Topic。

全部投递到Partition 0

适用于有事务要求的场景,写入性能比较差,如果没有强事务要求,不推荐使用此选项。

按表的主键值hash值投递到不同的Partition

适用于一个表一个Topic的场景,避免该表都写到同一个分区,消费者可以并行从各分区获取数据。

按表的非主键列值的hash值投递到不同的Partition

适用于一个表一个Topic的场景,避免该表都写到同一个分区,用户可以按照非主键列值的hash值自定义message key,消费者可以并行从各分区获取数据。

按库名自动生成Topic名字

对于源库数据量量不大的场景,可以选择一个database自动生成Topic名字,按库名确定一个Topic。

按库名.schema.表名的hash值投递到不同Partition

适用于单表的查询场景,可以提高单表读写性能,推荐使用此选项。

全部投递到Partition 0

适用于有事务要求的场景,写入性能比较差,如果没有强事务要求,不推荐使用此选项。

按库名.schema的hash值投递到不同Partition

适用于一个database一个topic的场景,避免多个schema下的数据写到一个分区,消费者可以并行从各分区获取数据。

按库名-schema自动生成Topic名字

如果每个schema数据量都非常大,建议选择按库名-schema自动生成Topic名字,按库名-schema确定一个Topic。

按库名.schema.表名的hash值投递到不同Partition

适用于单表的查询场景,可以提高单表读写性能,推荐使用此选项。

全部投递到Partition 0

适用于有事务要求的场景,写入性能比较差,如果没有强事务要求,不推荐使用此选项。

support.huaweicloud.com/bestpractice-drs/drs_04_0077.html