QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

Druid:一个用于大数据实时处理的开源分布式系统

  • 2015-04-25
  • 本文字数:1297 字

    阅读完需:约 4 分钟

Druid 是一个用于大数据实时查询和分析的高容错、高性能开源分布式系统,旨在快速处理大规模的数据,并能够实现快速查询和分析。尤其是当发生代码部署、机器故障以及其他产品系统遇到宕机等情况时,Druid 仍能够保持 100% 正常运行。创建 Druid 的最初意图主要是为了解决查询延迟问题,当时试图使用 Hadoop 来实现交互式查询分析,但是很难满足实时分析的需要。而 Druid 提供了以交互方式访问数据的能力,并权衡了查询的灵活性和性能而采取了特殊的存储格式。

Druid 功能介于 PowerDrill Dremel 之间,它几乎实现了 Dremel 的所有功能,并且从 PowerDrill 吸收一些有趣的数据格式。Druid 允许以类似 Dremel 和 PowerDrill 的方式进行单表查询,同时还增加了一些新特性,如为局部嵌套数据结构提供列式存储格式、为快速过滤做索引、实时摄取和查询、高容错的分布式体系架构等。从官方得知,Druid 的具有以下主要特征:

  • 为分析而设计——Druid 是为 OLAP 工作流的探索性分析而构建,它支持各种过滤、聚合和查询等类;
  • 快速的交互式查询——Druid 的低延迟数据摄取架构允许事件在它们创建后毫秒内可被查询到;
  • 高可用性——Druid 的数据在系统更新时依然可用,规模的扩大和缩小都不会造成数据丢失;
  • 可扩展——Druid 已实现每天能够处理数十亿事件和 TB 级数据。

Druid 应用最多的是类似于广告分析创业公司 Metamarkets 中的应用场景,如广告分析、互联网广告系统监控以及网络监控等。当业务中出现以下情况时,Druid 是一个很好的技术方案选择:

  • 需要交互式聚合和快速探究大量数据时;
  • 需要实时查询分析时;
  • 具有大量数据时,如每天数亿事件的新增、每天数 10T 数据的增加;
  • 对数据尤其是大数据进行实时分析时;
  • 需要一个高可用、高容错、高性能数据库时。

一个 Druid 集群有各种类型的节点(Node)组成,每个节点都可以很好的处理一些的事情,这些节点包括对非实时数据进行处理存储和查询的 Historical 节点、实时摄取数据、监听输入数据流的 Realtime 节、监控 Historical 节点的 Coordinator 节点、接收来自外部客户端的查询和将查询转发到 Realtime 和 Historical 节点的 Broker 节点、负责索引服务的 Indexer 节点

查询操作中数据流和各个节点的关系如下图所示:

如下图是 Druid 集群的管理层架构,该图展示了相关节点和集群管理所依赖的其他组件(如负责服务发现的 ZooKeeper 集群)的关系:

Druid 已基于 Apache License 2.0 协议开源,代码托管在 GitHub ,其当前最新稳定版本是 0.7.1.1 。当前,Druid 已有 63 个代码贡献者和将近 2000 个关注。Druid 的主要贡献者包括广告分析创业公司 Metamarkets、电影流媒体网站 Netflix 、Yahoo 等公司。Druid 官方还对 Druid 同 Shark Vertica Cassandra Hadoop Spark Elasticsearch 等在容错能力、灵活性、查询性能等方便进行了对比说明。更多关于 Druid 的信息,大家还可以参考官方提供的入门教程白皮书设计文档等。


感谢徐川对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群InfoQ 好读者)。

2015-04-25 03:2733674
用户头像

发布了 46 篇内容, 共 53.3 次阅读, 收获喜欢 15 次。

关注

评论

发布
暂无评论
发现更多内容

软件 IT 专业的高校学生有关在线课程的问卷调查

程序员历小冰

UT之最后一测

好好学习,天天向上

获取chrome80谷歌浏览器存储的指定网站Cookie数据方法详解

老猿Python

Python chrome 爬虫 Cookie

音视频编解码--编码参数CRF

Fenngton

ffmpeg 视频编解码 视频压缩 码率控制 CRF

高并发系列:架构优化之细说负载均衡

Coder的技术之路

负载均衡 高并发 高并发优化 负载均衡架构

容器 & 服务: 扩容(二)

程序员架构进阶

Kubernetes 28天写作 弹性扩容 4月日更

基于Kubernetes Operator的网易数帆生产级云原生中间件实践

网易数帆

架构 Kubernetes 云原生 operator 中间件

智能小车系列-串口设置

波叽波叽啵😮一口盐汽水喷死你

串口 树莓派串口 ttyAMA0

【XXX高校】软件IT专业学生(恋爱观)调查问卷

码界西柚

调查报告 大学生 恋爱

如何从 0 到 1 开发 PyFlink API 作业

Apache Flink

flink pyflink python 3.5+

2021高校IT专业大学生就业意向调查问卷

黑马腾云

Kubernetes入门——Kubernetes实现应用的高可用

百度开发者中心

Kubernetes k8s入门 #技术课程#

Android 设备音视频兼容性适配

网易云信

WebRTC

ArrayList 与 LinkedList 底层结构

Kori Lin

Java

SCA工具:开源安全威胁一手掌控

华为云开发者联盟

开源 安全 测试 SCA 软件成分分析

跨湖跨仓场景下如何实现海量数据分钟级分析

华为云开发者联盟

大数据 数据湖 数据分析 华为云FusionInsight MRS HetuEngine

云图说|数据可视化管理,搭载数据安全黑科技!华为数据安全中心,助你保障云上数据安全!

华为云开发者联盟

数据安全 华为云 云图说 DSC 数据安全中心 云上数据

C盘内存杀手,原来是这款出人意料的被闲置的软件|iTunes

彭宏豪95

效率 工具 4月日更 iTunes

面向软件 IT 专业的高校大学生课余时间自学情况调查

xiezhr

大学生日常 IT 高校学院 问卷调查

浪潮云再次入围央采2021年云计算服务采购名单

云计算

LeetCode题解:151. 翻转字符串里的单词,栈,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

Linux 上 定时备份postgresql 数据库

Yang

数据库 postgresql

生命中的无奈

小天同学

读书 读后感 生命 4月日更

特斯拉行车数据被篡改?专家称车企很难自证清白,保留“数据指纹”的区块链技术在路上

CECBC

指纹

基于 HLS 创建 Golang 视频流服务器

天黑黑

音视频 HLS 声网 Go 语言

anyRTC 音视频 uni 插件集成步骤

anyRTC开发者

uni-app android 音视频 WebRTC sdk

微信小程序登录流程详解

frank-say

被遗弃的 Vector 和 Stack

Kori Lin

Java

5.1特辑|为何显示有票你却抢不到?技术揭秘12306如何保证车票不超卖

华为云开发者联盟

数据库 GaussDB(for Redis) 五一 12306 数据强一致性

智能小车系列-动力系统(ezPWM)

波叽波叽啵😮一口盐汽水喷死你

pwm ezPWM PWM信号

Jcenter 停止服务,说一说我们的迁移方案

Antway

android maven Gradle

Druid:一个用于大数据实时处理的开源分布式系统_大数据_李小兵_InfoQ精选文章