写入部分 Coordinator 需要的接口

与configNode交互

// 获取分区信息

 public GetSchemaPartitionResp getSchemaPartition(GetSchemaPartitionReq req); 
 
 public GetDataPartitionResp getDataPartition(GetDataPartitionReq req);


//元数据查询 

 List<Pair<String, Long>> lookupStorageGroups(String pattern); //查询pattern对应存储组
 
List<Pair<Long, Node>> lookupSchemaRegions(String pattern); //查询pattern的所有schemaRegion及对应leader

List<Pair<Long, Node>> lookupDataRegions(String pattern, TimeInterval t); //查询pattern及时间范围t对应的DataRegion和对应leader


与DataNodeNode交互

// 向 SchemaRegion 获取元数据信息

void getSeriesSchemas(String pattern)

//转发Physical plan

TSStatus executeNonQueryPlanInDataRegion(PhysicalPlan plan, int dataRegionId)


TSStatus executeNonQueryPlanInSchemaRegion(PhysicalPlan plan, int schemaRegionId)


TSStatus executeQueryStatement()

Standalone Coordinator 执行过程


Standalone Coordinater 收到 InsertPlan 之后

  1. 获得分区id,即本地分区信息
  2. 获取 DataRegionID 
  3. 获取元数据信息:向本地SchemaRegion申请元数据信息
  4. 将上述信息传递给StorageEngine进行之后的写入过程
  • No labels