THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
- 执行计划生成器(Planner)
- SQL 解析器、查询计划生成、查询优化
- 查询引擎(QueryExecutor)
- 原始数据查询、聚合查询等
- 存储引擎(VSG)
- TsFile 数据文件、数据合并、数据同步
- 元数据管理引擎(MManager)
- 管理一部分元数据,包括设备、时间序列的增、删、查
- 分区表存储引擎(PartitionTable)
- 元数据分区表、数据分区表
- 客户端请求处理模块(ClientRequestHandler)
- 管理读写请求的序列化反序列化,管理线程的并发模型。管理权限。
- 集群请求处理模块(ClusterRequestHandler)
- 处理 DataNode 发来的读写和管理请求。
- 分区管理引擎(ConfigManager)分区表管理引擎(ConfigerManager)
- 节点状态信息、管理数据分区表、元数据分区表、扩缩容、负载均衡
- 协调者(Coordinator)
- 接收执行计划,并判断此计划是本地执行还是远端执行。对于写入计划,交给共识模块进行多副本写入。对于查询计划,负责执行计划的拆分、分发读写请求、合并结果集。
- 共识模块(Consensus)
- 数据复制,根据一致性级别调度读写请求到对应副本
...
- 执行计划生成器
- 查询引擎
- 存储引擎
- 元数据管理引擎
- 客户端请求处理模块
分布式模块
- ConfigNode
- 集群请求处理模块
- 分区块分区管理引擎
- 共识模块
- 分区表存储引擎
- DataNode
- 客户端请求处理模块
- 执行计划生成器
- 协调者
- 共识模块
- 查询引擎
- 存储引擎
- 元数据管理引擎
- 客户端请求处理模块
- 协调者
- 共识模块
集群模块分布示例
每个存储组对应 集群总核数/副本数个 VSG 共识组,并且对应 M 个 MManager 共识组
...
模块(接口) | 内容 | 参与贡献者 | 设计定稿 | 原型开发完成 | 测试调优完成 |
分区管理分区管理(ConfigManager) | 元数据分区策略、元数据负载均衡策略(确定元数据从哪迁移到哪) | 陈荣钊 | 3.31 | 4.31 | 5.31 |
数据分区策略、数据负载均衡策略(确定数据从哪迁移到哪) | |||||
共识层(Consensus、Raft) | 集群扩容、启动流程 | 谭新宇 | |||
集群缩容、节点停机 | |||||
数据迁移流程(负载均衡、缩容会触发数据迁移流程) | |||||
Consensus 层读写流程 | |||||
Raft 读写流程 | |||||
元数据操作(MManager、ConfigerManager)元数据操作(MManager) | DDL 执行流程(DataNode 内的元数据缓存更新策略,向 ConfigNode 上报统计信息) | 薛恺丰、江天 | |||
数据写入(Coordinator、StorageEngine、VSG) | 写入流程(内存控制、客户端分区信息缓存管理、DataNode分区信息缓存管理) | 侯昊男、权思屹 | |||
查询引擎(Coordinator) | 查询算子 | 张金瑞、田原、苏宇荣、魏祥威 | |||
基于规则的优化器 | |||||
单机查询适配 | |||||
分布式调度、执行器 | |||||
查询内存控制 | |||||
监控(MetricManager) | 集群监控框架 | 张洪胤 | |||
多租户管理 | 权限管理 | ||||
资源隔离 |
...