一、可编排的任务执行框架
TDSQL Boundless 设计了一个基于执行计划的可编排任务框架:
场景示例:将 table1 和 table2 调度到同一节点
1. 执行分裂:向 TDStore 下发"分裂 RG2"原子任务
2. 执行迁移:下发"将 Region3 从 Node2 迁移至 Node1"
3. 切主:下发"将相关 RG 的主副本切换"
4. 合并:下发"合并指定的 RG"
二、典型业务场景
| 场景 | 业务痛点 | TDSQL Boundless 解决方案 |
| 流水、账单 | 历史数据占用高成本存储 | 内置策略自动冷热分层 |
| 金融多法人 | 监管要求数据物理隔离 | 细粒度拓扑感知的数据隔离策略 |
| 广告检索 | 跨表关联查询需数据放一起 | 数据拓扑感知自动调度 |
三、K8s 语义的策略接口系统
基于数据拓扑感知能力,实现可扩展的符合 K8s 语义的策略接口系统:
策略示例:创建表时绑定 cross-3-idc 策略
CREATE TABLE table_1 USING DISTRIBUTION_POLICY cross-3-idc
含义:
·该表有一主两备3个副本
·在 gz_1 – gz_5 可用区中分布
·Leader 尽量不选择 gz_3 或 gz_5
·优先确保 zone 级别的容灾能力
四、冷热数据分层
— 创建带时间分区的流水表CREATE TABLE table_1(id INT, trans_date DATETIME)PARTITION BY RANGE (TO_DAYS(trans_date)) ( PARTITION p1 VALUES LESS THAN (TO_DAYS('2022-11-01')), PARTITION p2 VALUES LESS THAN (TO_DAYS('2022-12-01')), PARTITION p3 VALUES LESS THAN (TO_DAYS('2023-02-01')), PARTITION p4 VALUES LESS THAN (TO_DAYS('2023-03-01')));– 绑定分区冷却策略ALTER TABLE table_1USING DISTRIBUTION_POLICY partition-cool-down
效果:3个月之前的子分区自动迁移至冷存节点,降副本,无需人工干预。
五、隐式亲和性
对于分区规则相同的表,TDSQL Boundless 引入了分区级亲和性调度机制:
— 两张表采用相同的分区规则CREATE TABLE t1(id INT PRIMARY KEY, f1 INT, f2 VARCHAR)PARTITION BY HASH (f1) PARTITIONS 3;CREATE TABLE t2(id INT PRIMARY KEY, f1 INT, f3 VARCHAR)PARTITION BY HASH (f1) PARTITIONS 3;
效果:
·将关联分区(如 t1.p3 与 t2.p3)固定在同一节点
·避免因扩容或负载均衡导致的数据分散
·保障查询性能稳定
六、显式亲和性
允许业务通过 SQL 语法主动配置表间的关联关系:
场景一:小表紧密关联
CREATE PARTITION POLICY IF NOT EXISTS pp1
调度效果:将两张表分配到同一个复制组(RG)中。
场景二:大表分区级亲和
CREATE PARTITION POLICY IF NOT EXISTS pp2 PARTITION BY HASH(INT) PARTITIONS
调度效果:将两张表相同规则的分区调度至同一 RG。
七、策略系统核心价值
| 价值 | 说明 |
| 通用标准 | 符合事实标准,key-op-values 规范对用户友好 |
| 语义可扩展 | 可根据不同业务需求扩展更多 PolicyOption |
| 数据链路全解耦 | 调度引擎独立管控,计算/存储全解耦 |
八、业务价值案例
腾讯计费平台发票流水业务:
·数据规模:30T(三副本),单表 80+ 亿行
·写入峰值:1w/s
·查询频率:平均300-400笔/s
·原有痛点:需要方便、快速进行扩容
·使用效果:在线水平扩容从月缩短至分钟级,业务无须感知