写点什么

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:2733613
用户头像

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

关注

评论

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

Java反射之Method的invoke方法实现,全栈系统化的学习路线

Java 程序员 后端

Java基础知识总结(超详细整理,你有过迷茫吗

Java 程序员 后端

揭秘版权保护下的视频隐形水印算法(下篇)

拍乐云Pano

音视频 RTC 拍乐云 隐形水印

国产接口管理工具ApiPost中的COOKIE管理器

Proud lion

大前端 后端 Postman 开发工具 Cookie

【虚拟机专栏】Rust智能合约的应用

趣链科技

区块链 智能合约 虚拟机

fil挖矿机靠谱吗?fil挖矿哪家靠谱?

fil挖矿哪家靠谱 fil挖矿机靠谱吗

kubebuilder 构建控制器说明点

Geek_f24c45

Kubernetes kubebuilder kube-controller

Java学习笔记-集合,985研究生被小公司领导留了3年

Java 程序员 后端

Java学到什么程度才算精通?,看完老板就给加薪了

Java 程序员 后端

2021年广播电视网络安全等级保护定级流程

行云管家

运维 等保测评 企业运维 广播电视

7个非常有前景的C++专业就业方向

hanaper

Java实现数据结构中的八种排序方法(1)

Java 程序员 后端

全网各大厂iOS面试题-文集大全

iOSer

ios 面试

5分钟学会Flutter开发

百度Geek说

flutter 大前端 移动端

解读知识蒸馏模型TinyBert

华为云开发者联盟

mindspore 知识蒸馏 TinyBert 信息瓶颈 蒸馏

2021ToB投资盘点:腾讯疯狂、阿里克制、字节激进

ToB行业头条

腾讯 字节跳动 阿里

宝藏昇腾AI应用推荐!CANN带你体验黑白图像自动上色的快乐~

华为云开发者联盟

开源 黑白 图像 CANN 昇腾

《转》什么是跨域?如何解决跨域问题?

hasWhere

RVB2601应用开发实战系列六:网络播放器设计(二)

Roy夹馍

risc-v 嵌入式开发 risc-v开发板

NVMe over TCP高性能文件存储,焱融科技+Lightbits让未来照进现实

焱融科技

云计算 分布式 高性能 存储 nvme

九月开学

escray

生活记录 9月日更

fil挖矿gas费怎么看?fil挖矿需要质押多少?

fil挖矿需要质押多少 fil挖矿gas费怎么看

微信PaxosStore内存云揭秘:十亿Paxos/分钟的挑战

OpenIM

Paxos理论介绍(4): 动态成员变更

OpenIM

鸿蒙轻内核的得力助手:带你掌握4种内存调试方法

华为云开发者联盟

鸿蒙

InfoQ 引航计划正式启动!全网最优质技术内容,拿来吧你!

InfoQ写作社区官方

引航计划 技术专题合集 热门活动

Java反射的简单入门

Java 程序员 后端

扁平-K8s网络模型漫谈

Lance

OCR加持白描App,让AI成为视障者的眼睛

百度开发者中心

人工智能 最佳实践 方法论 前沿技术

Java实现数据结构中的八种排序方法

Java 程序员 后端

企业有运维人员,还有必要买运维管理系统吗?

行云管家

企业运维 运维审计 运维系统

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