TDSQL Boundless 调度规则与亲和性策略

这篇档介绍 TDSQL Boundless 的调度规则系统,包括可编排任务框架、K8s 语义策略接口以及隐式/显式亲和性配置。

相关产品
TDSQL Boundless 产品页,含版本规格、价格与购买入口。

一、可编排的任务执行框架

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

·原有痛点:需要方便、快速进行扩容

·使用效果:在线水平扩容从月缩短至分钟级,业务无须感知

赞 (0)
上一篇 4天前
下一篇 4天前