TDSQL Boundless 调度引擎架构与数据感知

这篇档介绍 TDSQL Boundless 调度引擎(MC)的架构设计和数据感知能力。

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

一、概述

调度引擎(MC, Management Center)是 TDSQL Boundless 的"大脑",承担所有控制平面(Ctrl Plane)的功能,包括监控、决策和调度。它使计算引擎和存储引擎可以专注于数据流相关的操作和性能优化。

二、控制平面与数据平面分离

TDSQL Boundless 实现了 Data/Ctrl Plane Separation 架构:

核心价值:

·职责清晰,架构简洁

·计算/存储引擎专注于数据流操作和性能优化

·MC 负责所有控制平面功能

三、问题背景

调度引擎需要处理诸如数据分片(Region)跨节点迁移等复杂任务。这类任务从业务视角看是单一的,但内部涉及多个子步骤。

如果将调度协调逻辑放在存储层会带来问题:

·逻辑过重:存储层需同时处理数据读写和复杂调度逻辑

·状态混乱:任务推进、暂停、回滚由执行者自行判断,难以保证一致性

四、解决方案

将复杂调度逻辑上移至调度引擎(MC):

·以 Region 为单位的细粒度锁,分离 Region 的状态和调度 Job 状态

·MC 定义 Atomic Step 任务状态机全集,每个 Job 包含一个或多个 Atomic Step

·TDStore 的 Region 层在任意时刻,最多只会收到并执行单个 Atomic Step

·TDStore 对 Job 推进或回滚无感知,正常推进或回滚全由 MC 掌握

五、副本迁移 Job 示例

一个 RG 副本迁移(Replica Migration)Job 可分解为以下五个原子步骤:

1. Create:在目标节点创建新副本

2. Add:新副本从主副本同步数据

3. Offline:下线旧副本

4. Remove:变更 Raft 组配置,移除旧节点

5. Destroy:在旧节点清理副本数据

六、拓扑感知的数据对象生命周期管理

管控调度引擎基于 DataObject 抽象,建立拓扑感知的数据对象管理体系,打通数据逻辑层与物理存储层的链路。

拓扑结构层级定义:

·L0 级:Database(数据库)

·L1 级:Table(表),隶属于某个 Database

·L2 级:Index/Partition(索引或分区),隶属于某个 Table

核心价值:

·精确定位每个数据对象的逻辑归属

·感知数据之间的亲和性关系

·将关联紧密的数据放置在相同或相近的存储节点

·减少跨节点数据访问,降低分布式事务比例

七、On-Demand 资源分配机制

与友商在 Region 过大时简单按范围切分不同,TDSQL Boundless 引入了 On-Demand 分配机制:

特性 说明
按需分配资源 执行 DDL 时根据数据对象的逻辑含义与亲和性关系,按需申请 Region
亲和性驱动调度 识别应放置在一起的数据分片,将索引与主表数据调度至同一节点
两层元数据管理 基于 ReplicationGroup + Region 的两层结构,支持任意数据分片的分裂与合并
赞 (0)
上一篇 4天前
下一篇 4天前