THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
操作执行流程
...
Create Database
...
Delete Database
...
...
...
Create Timeseries
...
...
Insert Data
写入流程
- 客户端 C 连接集群任意 DataNode A 发送InsertReq
- DataNode A 将 InsertReq 转换为 InsertStatement
- Coordinator 创建 QueryExecution,并开始执行
- Analyzer: 接收 InsertStatement。根据 PartitionFetcher(更新分区缓存),拿到 DataPartition ,放到 Analysis 中。
- LogicalPlanner :根据 InsertStatement,构造 InsertPlanNode(包含 InsertStatement 与空的 RegionReplicaSet )
- DistributionPlanner:根据 Analysis 中的 DataPartition,将原始的 InsertPlanNode 拆分成多个 InsertPlanNode,并根据 RegionReplicaSet 对 InsertPlanNode 分组
- ClusterScheduler
- 将 FragmentInstance(包含InsertPlanNode) 交给Dispatcher进行转发
- 等待各个 DataNode 返回结果,进行汇总处理,返回给客户端
- Dispatcher 将序列化后的 FragmentInstance 通过 InternalService 发送到对应节点
- DataNode B 的 InternalServiceImpl 接收到 FragmentInstance, 判断 FragmentInstance类型,如果是写操作,从中反序列化出 InsertPlanNode,通过 SchemaValidatar 调用 SchemaFetcher 进行元数据校验(自动创建元数据,更新缓存等),校验完成后更新InsertPlanNode,将measurementSchemas set进去
- 将 InsertPlanNode重新序列化后传入 IConsensus 进行写入。
数据删除
原始数据查询
Flush
flush on local/flush on cluster:Flush 当前或所有 DataNode 的数据
权限管理
查询流程
写入流程
登录流程
...