Datasources:数据源
druid的数据存储在数据源里面,它有点类似于传统关系型数据库的表,druid使用了独特的数据建模系统,它与关系模型和时序模型都有点相似性。
Primary timestamp:主时间戳
druid的模式要求必须存在一个主时间戳,主时间戳被用来分区和排序我们的数据,druid查询能够快速的定位和返回与主时间戳列的时间范围相对应的数据。druid还可以将主时间戳列用于基于时间的数据管理操作,比如删除时间数据块,重写时间数据块和基于时间的持久规则。
主时间戳根据时间戳规范解析。另外颗粒度规范控制其他重要的基于主时间戳的操作。不管主时间戳是从哪个字段里面读取的,它在我们的druid 数据源里面都是以 名字为"__time"的列来存储
如果我们有超过一列的时间戳,可以用第二时间戳来存储。
Dimensions:维度
维度是按原样存储的列并可以用作任何目的。在查询的时候我们可以使用特定的方式对维度进行分组、过滤和进行聚合。如果我们禁止了汇总操作,那么维度将被简单的看做是要存储的一组列,其行为与不支持汇总功能的传统数据库完全一样。
维度通过维度规则进行配置
Metrics:指标
指标是以聚合形式存储的列,当启用了汇总功能的时候就能体现它们的价值。我们需要给每个指标指定一个聚合函数,以便于druid在摄入每一行数据的时候使用。这有两个好处:
1、如果汇聚启用,即使在需要保留概要信息的情况下,也能将多行合并成一行。在汇总指导手册里面,它能将网络流量数据根据元组(分钟,源IP,目的IP)汇总成一行,同时保留总数据包和字节总数的聚合信息
2、有些聚合类型,特别是近似计算,如果它们在插入的时候只进行了部分计算,即使没有开启汇总数据的情况下,也可以在查询的时候快速的被计算,
指标通过指标规则进行配置