...
创建/删除存储组
创建/删除TTL
创建/删除时间序列
配置加载(loadConfigurationPlan)
权限相关
创建/删除模板(待定)
创建/删除udf
设置系统模式
创建快照
MergePlan/FlushPlan/ClearCachePlan(由ConfigNode发送给所有VSG由ConfigNode发送给所有DataRegion)
该部分操作需要首先转发给Config集群,之后根据Config集群节点返回结果进行后续处理
...
所有insertPlan(InsertRowPlan, InsertRowsPlan, InsertRowsOfOneDevice, InsertTablet, InsertMultiTablet)
AlterTimeseries
该部分操作首先需要根据分区表对写入操作进行拆分,之后发送给对应的vsg,流程参考上面的给出的写入流程。该部分操作首先需要根据分区表对写入操作进行拆分,之后发送给对应的DataRegion,流程参考上面的给出的写入流程。
查询操作(Query)
查询操作通常需要进行拆分和结果集的合并,这里不多做赘述,输入到coordinator中处理的查询应当是以物理计划的形式。
...
数据分区表缓存在每个Datanode,用于缓存保存时间分片的物理节点。数据分区表缓存在查询和写入过程中都需要用到,若无缓存,则需要向ConfigNode请求对应数据分区表项。
数据结构
Map<存储组, Map<设备组, Map<时间段, List<VSG List<DataRegion 共识组>>>>
Map<VSG Map<DataRegion 共识组, List<物理节点>>
更新方式
实时负载均衡:某节点上压力过大,需要进行设备组的迁移
构建DataPartitionrRequest向ConfigNode申请数据分区表项,通过一次rpc(confignode不需要同步)
删除存储组(缓存失效)
负载均衡(缓存失效)
元数据分区表缓存
元数据分区表存在于每个Datanode中,在写入或查询时,本地元数据缓存miss时,需要向MManager请求元数据,此时需要元数据分区表定位元数据所在的MManager位置。元数据分区表存在于每个Datanode中,在写入或查询时,本地元数据缓存miss时,需要向SchemaRegion请求元数据,此时需要元数据分区表定位元数据所在的SchemaRegion位置。
数据结构
Map<存储组, Map<设备组, MManager共识组>>
Map<MManager共识组Map<SchemaRegion共识组, List<物理节点>>
更新方式
迁移设备组的元数据到其他MManager共识组迁移设备组的元数据到其他SchemaRegion共识组
构建MetaDataPartitionRequest向ConfigNode申请元数据分区表项,通过一次rpc得到对应的分区表项
删除存储组(缓存失效)
元数据负载均衡
...