tencent cloud

TDSQL Boundless

Binlog 订阅

PDF
聚焦模式
字号
最后更新时间: 2026-03-20 17:59:17
TDSQL Boundless 支持通过订阅 MySQL 兼容的 Binlog 事件,将数据变更实时同步至目标数据库或其他第三方平台,适用于云上云下多活、异地容灾、跨境同步及实时数仓等场景。Binlog 订阅功能已在腾讯内部多个核心业务稳定运行超一年,覆盖电商营销、大数据调度、内容审核、广告投放等多个场景。TDSQL Boundless 产生和 MySQL 一致的 Binlog 格式,以兼容 MySQL 社区的 Binlog 订阅生态,如 Canal,Flink,Kafka(可通过 DTS 推送)等。TDSQL Boundless 借助共识协议 Raft 的产生异步日志流再进行转化而产生,这个设计使得 Binlog 开启对写入仅有非常小的负担。

性能压测

Sysbench 基准测试

测试项
测试值
数据量
1000万 × 10张表
测试模型
sysbench update non index
Binlog 订阅节点吞吐量
10.5w QPS
资源规格
32C 64G
CPU 占用
4C
内存占用
8.4GB

72小时稳定性测试

测试项
测试配置
实例规格
3MC (4C8G) + 15HyperNode (16C32G) + 1Binlog 订阅节点 (48C96G)
客户端压力
15张表,15并发,共 5w QPS insert
持续时长
72小时
同步延迟
稳定保持在10s内

大宽表场景优化

宽表场景(平均行长1.5KB),客户端压力 5w QPS,回放延迟保持10s内。
表结构如下:
CREATE TABLE `sbtest1` (
`id` bigint NOT NULL,
`uid` bigint NOT NULL,
`phase` int NOT NULL,
`status` int NOT NULL,
`detail` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`createdTime` datetime NOT NULL,
`lastModTime` datetime NOT NULL,
`business` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`materialId` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`materialType` int NOT NULL,
`reviewDataId` bigint NOT NULL,
`deleteStatus` int NOT NULL,
`traceId` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`reviewDataLogDetail` mediumblob,
`physicalFinger` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`originalFinger` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`originalResourceId` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`parentTraceId` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`grandParentId` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`parentId` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `idx_materialId` (`materialId`),
KEY `idx_uid` (`uid`),
KEY `idx_reviewDataId` (`reviewDataId`),
KEY `idx_createdTime` (`createdTime`),
KEY `idx_phase` (`phase`),
KEY `idx_status` (`status`),
KEY `idx_parentId` (`parentId`)
) ENGINE=ROCKSDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8

大事务场景优化

跑批业务或者其他经常性处理大事务场景下,建议适当调整如下参数,以提升性能。
-- 提升大事务处理能力
wait_flush_binlog_cache_max_size = 100MB

-- 优化内存使用
tdstore_block_cache_size = 300MB

订阅限制

使用 Binlog 订阅 TDSQL Boundless 数据变更时,请注意以下相关限制要求以及暂不支持的场景。

兼容性问题

仅支持内核版本19.2.0及以上版本的数据库实例开启 Binlog 日志订阅。
暂不支持生成 FUNCTION(函数)、PROCEDURE(存储过程)、TRIGGER(触发器)操作的 Binlog 日志。
内核版本低于20.0.0的数据库实例开启 Binlog 后将自动禁用 CREATE TABLE ... AS SELECT ...语法,如需恢复,需联系技术支持关闭同步功能并重启实例。
内核版本低于21.0.0的数据库实例不支持生成 VIEW(视图)操作的 Binlog。

功能限制

仅支持通过 MySQL Binlog 协议订阅日志,暂不支持独立下载 Binlog 文件。
单数据库实例最多创建5个 Binlog 订阅任务。

计费方式

详细的计费信息请参见 计费概述

操作指南

开启和关闭 TDSQL Boundless 实例的 Binlog 订阅功能可参考 Binlog 订阅

帮助和支持

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

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

文档反馈