分布式融合数据库HTAP是既支持在线事务处理 (OLTP) 又支持在线分析处理 (OLAP) 的融合型云原生分布式数据库,具有兼容MySQL协议、高性能、实时分析的特点,适用于数据规模大、高可用、高吞吐等业务场景。
分布式融合数据库HTAP主要由管理节点、计算节点和存储节点组成,整体技术架构如下:
- 管理节点:整个集群的元信息管理模块,负责存储集群元信息(包括整体拓扑结构和节点实时的数据分布情况),为分布式事务分配事务 ID,同时还会根据存储节点实时上报的数据分布状态,下发数据调度命令给具体的存储节点。管理节点集群由 3 个管理节点构成,具备高可用能力。
- 计算节点:SQL 层,支持 MySQL 协议,负责接收客户端的连接,执行 SQL 解析和优化,最终生成分布式执行计划,将实际的数据读取请求转发给底层的存储节点。计算节点本身是无状态的,多个计算节点构成计算节点集群,通过负载均衡组件(如 LVS、HAProxy 或 F5)对外提供统一的接入地址。
- 存储节点
- 行存节点:一个支持事务的分布式Key-Value存储引擎,负责存储数据。数据按范围分片存储,每个数据分片负责存储一段 Key 范围(从 StartKey 到 EndKey 的左闭右开区间)的数据,每个行存节点会负责多个数据分片。行存节点 API 原生支持分布式事务,默认提供了 SI (Snapshot Isolation) 的隔离级别,是SQL 层支持分布式事务的核心基础。SQL 层做完 SQL 解析后,会将 SQL 的执行计划转换为对行存节点 API 的实际调用。另外,行存节点中的数据都会自动维护多副本(默认为三副本),天然支持高可用和自动故障转移。
- 列存节点:一类可选的存储节点,其内部以列式的形式存储数据,主要的功能是为分析型的场景加速。