学习 Druid (一):初识 Druid

更新至 Druid 0.15.1 版本

简介

Druid 中文译为德鲁伊,分布式数据库,不是阿里巴巴开源的数据库连接池。

集 OLAP 分析数据库、时序数据库和搜索引擎于一身:

Druid

Druid 的爸爸:Imply

特性

  • 列式存储;
  • 可扩展分布式系统;
  • 大规模并发处理;
  • 实时和批数据摄入;
  • 服务自愈、自动扩容,易于运维;
  • 云原生、错误容忍架构,不丢数据;
  • 支持索引;
  • 基于时间的分区;
  • 近似算法。

组件

进程:

  • Coordinator 管理集群数据可用性;
  • Overlord 控制数据摄入工作分配;
  • Broker 处理外部客户端请求;
  • Router (可选)路由请求到 Brocker、Coordinator 和 Overlord;
  • Historical 存储查询数据;
  • MiddleManager 摄入数据;

服务:

  • Master,运行 Coordinator 和 Overloard,管理数据可用性和摄入;
  • Query,运行 Broker 和可选的 Router,处理外部客户端查询;
  • Data,运行 Historical 和 MiddleManager,执行摄入工作负载和存储所有查询数据。

外部依赖:

  • Deep Storage 仅用于数据备份和在 Druid 进程间传输数据,通常是 HDFS;
  • Metadata Storage 用于维护不同共享系统的元数据,通常是 MySQL。;
  • Zookeeper 用于内部服务发现、调度和主节点选举。

架构

Druid 架构图:

Druid Architecture

参考