tencent cloud

数据传输服务

动态与公告
产品动态
公告
产品简介
产品概述
数据迁移功能描述
数据同步功能描述
数据订阅(Kafka 版)功能描述
产品优势
支持的地域
规格说明
购买指南
计费概述
变更配置说明
欠费说明
退费说明
快速入门
数据迁移操作指导
数据同步操作指导
数据订阅操作指导(Kafka 版)
准备工作
业务评估
网络准备
添加 DTS IP 地址至对接数据库白名单
DTS 服务权限准备
数据库及权限准备
配置自建 MySQL 系的 Binlog
数据迁移
数据迁移支持的数据库
云数据库跨账号实例间迁移
迁移至 MySQL 系列
迁移至 PostgreSQL
迁移至 MongoDB
迁移至 SQL Server
迁移至腾讯云分布式缓存数据库
任务管理
数据同步
数据同步支持的数据库
云数据库跨账号实例间同步
同步至 MySQL 系列
同步至 PostgreSQL
同步至 MongoDB
同步至 Kafka
任务管理
数据订阅(Kafka 版)
数据订阅支持的数据库
MySQL 系列数据订阅
TDSQL PostgreSQL 数据订阅
MongoDB 数据订阅
任务管理
消费管理
前置校验不通过处理方法
检查项汇总
割接说明
监控与告警
支持的监控指标
告警通知功能
通过控制台配置指标告警和事件告警
通过 API 配置指标告警和事件告警
运维管理
配置系统维护时间
任务状态扭转说明
实践教程
本地数据库同步上云
构建双向同步数据结构
构建多对一同步数据结构
构建多活数据中心
数据同步冲突策略如何选择
使用 CLB 代理将其他账号下的数据库迁移至本账号下
通过云联网方式迁移自建数据库至腾讯云数据库
DTS 性能调优最佳实践
常见问题
数据迁移
数据同步
数据订阅 Kafka 版常见问题
数据订阅正则表达式
错误处理
常见错误处理
连通性测试不通过
校验项结果不通过或者出现警告
云联网接入配置源数据时无法选择子网
迁移慢或者进度卡住
数据同步有延时
数据订阅延迟过高
数据消费异常
API 文档
History
Introduction
API Category
Making API Requests
(NewDTS) Data Migration APIs
Data Sync APIs
Data Consistency Check APIs
(NewDTS) Data Subscription APIs
Data Types
Error Codes
DTS API 2018-03-30
相关协议
服务等级协议

设置分区策略

PDF
聚焦模式
字号
最后更新时间: 2022-10-12 11:44:38

操作场景

当用户选择 Kafka 多分区时,可以通过设置分区策略,将业务相互关联的数据路由到同一个分区中,这样方便用户处理消费数据。DTS 支持按表名、按表名+主键、按列名进行分区,将订阅数据经过哈希规则路由到 Kafka 各分区。
Kafka 分区策略 - 按表名分区:将源库的订阅数据按照表名进行分区,设置后相同表名的数据会写入同一个 Kafka 分区中。在数据消费时,同一个表内的数据变更总是顺序获得。
Kafka 分区策略 - 按表名+主键分区:将源库的订阅数据按照表名+主键进行分区,适用于热点数据,设置后热点数据的表,通过表名+主键的方式将数据分散到不同分区中,提升并发消费效率。
自定义分区策略:先通过正则表达式对订阅数据中的库名和表名进行匹配,匹配后的数据再按照表名、表名+主键、列进行分区。


Kafka 分区策略

按表名分区

当源数据库变更时,将变更的数据写入订阅 Topic 中,选择按表名分区后,相同表名的订阅数据会写入同一个 Kafka 分区中。在消费数据时,可以保证同一个表内的数据变更总是顺序获得。


按表名+主键分区

当仅指定按照表名分区时,如果一张表为热点数据,则按照表名分区,该 Kafka 分区的压力会非常大。通过表名+主键分区将数据分散到不同分区中,提升并发消费效率。


自定义分区策略

自定义分区策略,是通过正则表达式对库名和表名进行匹配,匹配后的数据再按照表名、表名+主键、列进行分区。

匹配规则

库表、表名的匹配规则支持 RE2 正则表达式,具体语法请参考 语法说明
库名的匹配规则,按照正则表达式来匹配库名。表名的匹配规则,按照正则表达式来匹配表名的数据。如果库名和表名需要精确匹配,需要加开始和结束符,如 test 表应该为 ^test$
列名的匹配规则,按照等值 == 来匹配,大小写不敏感。
优先匹配自定义分区策略,当自定义分区策略未匹配到时,则应用 Kafka 分区策略的设置进行匹配。当自定义分区策略有多条时,自上向下逐条匹配。

按表名分区

库名匹配模式填入 ^A$,表名匹配模式填入 ^test$,选择按表名分区后,A 库中 test 的订阅数据会写入到同一个分区中,test 除外其他未匹配到的库表数据会根据 Kafka 分区策略中设置的策略进行写入。


按表名+主键分区

库名匹配模式填入 ^A$,表名匹配模式填入 ^test$,选择按表名+主键分区后,A 库中 test 的订阅数据会根据主键数据的不同,随机写入到不同的分区中,最终主键数据相同的数据都写入了同一个分区。test 除外其他未匹配到的库表数据会根据 Kafka 分区策略中设置的策略进行写入。


按列分区

库名匹配模式填入 ^A$,表名匹配模式填入 ^test$,自定义分区列填入class,选择按列名分区后,A 库中 test 列名为 class 的订阅数据将被随机写入到不同分区中。test 除外其他未匹配到的库表数据会根据 Kafka 分区策略中设置的策略进行写入。



帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈