方案一:

  1. Segment元数据信息存储到mysql等关系型数据库时,针对每个Segment ID增加是否是热数据的字段。此外,设热数据判定规则,如近一天的数据,指定时间戳范围的数据,近几条数据或近几个segment等。
  2. Coordinator轮询zookeeper,获取新发布的segment,通过元数据存储的是否是热数据的segment信息,向不同的Historcial进行发布数据加载指令。如果为热数据,将segment一个副本加载到具备SSD的Historcial节点上,其他副本放到具备HHD的Historcial节点上。
  3. 当热数据变为冷数据的时候,再将热数据从SSD机器上迁移到HHD机器上。启用一个监控线程,当segment不满足热数据条件时,将元数据信息由true改为false,并通知持有该segment的historcial向存储冷数据的Historcial节点迁移。

方案二:

  1. middlemanager发布segment后,Coordinator轮询zookeeper,获取新发布的segment,判断该segment是否为热数据,如果该数据为热数据,其定向指定给某个Historcial节点加载和启用服务的指令。否则就指向其他Historcial节点。
  2. 当有新的热数据需要被加载到存储热数据的Historical节点上时,先将数据加载到该节点上,然后判断原有热数据是否仍具有热数据的条件,如果不具备,则将那些不具备热数据的segment迁移至其他Historcial节点上。

附件

 

 

针对冷热数据的druid写入方案

 

针对冷热数据的druid写入方案

 

相关文章:

  • 2022-03-04
  • 2021-04-21
  • 2021-05-09
  • 2022-12-23
  • 2021-08-18
  • 2022-12-23
  • 2021-12-13
  • 2021-04-06
猜你喜欢
  • 2022-12-23
  • 2021-05-24
  • 2021-10-07
  • 2022-12-23
  • 2022-01-08
  • 2021-12-23
  • 2021-09-26
相关资源
相似解决方案