THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
- 模块化
- 将 IoTDB 的各个组件模块化,分布式或单机实例均通过这些模块组合而成
- 扩展性
- 支持快速(秒级)增加节点,无需迁移数据
- 支持新增节点后实时分担写入负载
- 支持数据读写以及磁盘空间使用的负载均衡
- 高可用
- 客户端可自动切换
- 单节点失效不影响集群服务
- 可观测
- 集群内置监控服务
名词汇总
名词 | 缩写 | 解释 | |
---|---|---|---|
ConfigNode | CNode | 集群配置节点,集群节点信息,管理元数据分区及数据分区 | |
DataNode | DNode | 数据节点,管理数据、元数据 | |
VirtualStorageGroupProcesor | VSG | 单机数据存储引擎MManager | |
MManager | 单机元数据管理引擎 | ||
PartitionTable | PT | 元数据分区表及数据分区表存储引擎 |
集群角色
ConfigNode(CNode)ConfigNode:管理数据分区、元数据分区、节点状态信息
DataNode(DNode)DataNode:管理数据和元数据
每个 Node 是一个进程,可将多个进程部署到一台机器上,支持更强的灵活性,可适配云环境部署。
...
- 执行计划生成器(Planner)
- SQL 解析器、查询计划生成、查询优化
- QueryExecutor(查询执行器)
- 原始数据查询、聚合查询等
- StorageEngine(存储引擎)
- 进程内的单例,内部管理多个 单例结构,内部管理多个 VSG。TsFile 数据文件、数据合并、数据同步
- VSG(对应单机的 VirtualStorageGroupProsessor)
- 管理一部分设备的数据
- 元数据管理引擎
- SchemaEngine(元数据管理引擎)
- 单例结构,内部管理多个 MManager
- MManager(SchemaManager) 元数据管理引擎(MManager)
- 管理一部分元数据,包括设备、时间序列的增、删、查
- 客户端请求处理模块(ClientRequestHandler)
- 管理读写请求的序列化反序列化,管理线程的并发模型。管理权限。
- 集群请求处理模块(ClusterRequestHandler)
- 处理 DataNode 发来的读写和管理请求。
- 分区管理引擎(ConfigManager)
- 节点状态信息、管理数据分区表、元数据分区表、扩缩容、负载均衡
- 分区表存储引擎(PartitionTable)
- 元数据分区表、数据分区表
- 协调者(Coordinator)
- 接收执行计划,并判断此计划是本地执行还是远端执行。对于写入计划,交给共识模块进行多副本写入。对于查询计划,负责执行计划的拆分、分发读写请求、合并结果集。
- 共识模块(Consensus)
- 数据复制,根据一致性级别调度读写请求到对应副本
...