Druid

作者: 懿行 | 来源:发表于2018-05-11 09:50 被阅读29次

    官网文档第一句话:"Druid is an open source data store designed for [OLAP] queries on event data"

    两个重要关键字:

    1. OLAP
    2. event data

    所以,druid并不是:

    1. OLTP系统,不是为实时读写设计
    2. 支持event data,换句话,不支持更新删除

    理想场景:

    1. 用户行为事件,风控
    2. 监控数据,报警

    逻辑数据:

    1. 数据有表组成
    2. 表由多列组成,列分为三种:
      a. timestamp column, 时间错列,唯一
      b. dimension columns, 字符串类型的列
      c. metric columns, 用于计算的列,一般是数字

    组成:
    Druid集群包括集中节点

    1. Historical nodes 负责从离线拉segments数据,接收broker的数据请求
    2. Broker Nodes 接收用户请求
    3. Coordinator nodes 管理historical nodes和segments的映射关系,balance等
    4. indexing service
      a. middle manager
      b. overlord
      有实时更新,还需要tranquility服务,tranquility服务负责从流种获取新数据并通过indexing service写入druid
    5. realtimenodes

    其中 realtimenode和indexing service功能相同,两种实时更新的方式。realtimenode部署相对简单,但是限制较多。官方已经推荐使用indexing service的方式做实时数据ingesting

    重要特性:

    1. 数据支持持久化到Deepstorage
    2. hive2.2.0开始支持DruidStorageHandler
    3. time series data/columnar storage/analytical query/distributed database
    4. lambda架构,支持batch/realtime两种data injection
    5. 依赖RDBMS持久化meta信息,依赖zookeeper做coordinate,依赖HDFS做数据持久化和分布式访问
    6. 不支持更新和删除,只支持新增,限制应用场景
    7. batch插入保证exactly once,realtime插入不保证
    8. 只支持单表,不支持跨表join
    9. 提前按照query granularity做聚合,提高查询效率,降低存储空间。缺点是无法做更细粒度的查询,比如设置 query granularity为1分钟,则不能做秒级查询。

    Druid的一些设计特点:

    1. meta信息存储在zk和rdbms两个地方,其中zk上为简要信息,详细的元信息,比如segment的大小,dimensions和metrics配置,存储在rdbms中
    2. 过期数据并不删除,只是从zk上清理,deepstorage和rdbms中保留,可以恢复
    3. zk主要职责如下:
      a. segment management
      b. service discovery
      c. property store.

    与其他系统的兼容:

    • HDFS, or Cassandra, or Amazon S3, or Google Cloud Storage, or Azure Blob Storage, etc. as “deep storage”;
    • Kafka, or RabbitMQ, Samza, or Flink, or Spark, Storm, etc. (via tranquility) as real-time data ingestion source;
    • Druid itself, or Graphite, or Ambari, or StatsD, or Kafka as a sink for telemetry of Druid cluster (metrics).

    相关文章

      网友评论

          本文标题:Druid

          本文链接:https://www.haomeiwen.com/subject/aneirftx.html