HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

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

关注

评论

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

springboot整合Shiro

Java架构师迁哥

币值管理机器人系统开发|量化交易系统开发

W13902449729

币值管理机器人系统开发 量化交易系统开发

龙归科技 |企业办公自动化的未来

龙归科技

架构师训练营第二周作业 - 学习总结

阿德儿

又出神作!阿里技术官再出山,操作性超强的Spring事务+AOP实践手册

比伯

Java 编程 程序员 架构 面试

一周信创舆情观察(1.4~1.10)

统小信uos

TRX智能合约系统开发案例详解

枪手博弈 - 在强者的世界,弱者的生存法则

石云升

博弈论 28天写作 枪手博弈

Redis 用的很溜,了解过它用的什么协议吗?

古时的风筝

redis RESP Redis 协议

图解 | 原来这就是网络

编程 网络 计算机

量化交易系统开发软件源码

keycloak集群化的思考

程序那些事

架构设计 架构师 权限系统 程序那些事 集群服务

案例研究之聊聊 QLExpress 源码 (五)

小诚信驿站

刘晓成 小诚信驿站 28天写作 QLExpress源码 聊聊源码

架构师训练营第二周作业 - 命题作业

阿德儿

智慧building之一 智能家居

张老蔫

28天写作

【Mysql-InnoDB 系列】锁定读

程序员架构进阶

MySQL innodb 锁机制 28天写作

Kubernetes介绍篇:是什么?为什么要用?

xcbeyond

Docker Kubernetes 容器 28天写作 Kubernetes从入门到精通

不要用+""代替强转

BerryMew

数字货币量化对冲搬砖套利交易软件APP系统开发

系统开发

废弃fastjson!大型项目迁移Gson保姆级攻略

Zhendong

Java json Gson Fastjson

运维大规模ES集群的思考和实践

京东科技开发者

数据库 elasticsearch 数据分析

区块链:行业应用即将“引爆”

CECBC

区块链

“直男”审美?不存在的!来看看 “攻城狮”对一款IoT App的UI改造吧!

IoT云工坊

android App 物联网 IoT sdk

三分钟快速掌握 maven插件

田维常

maven

京东搜索排序在线学习的 Flink 优化实践

Apache Flink

flink

Spring Boot 中的MVC支持

武哥聊编程

Java mvc springboot SpringBoot 2 28天写作

工信部:推动区块链等与工业互联网的融合技术研究

CECBC

大数据

全网独家首发!—份破解大厂面试官千层套路的算法+数据结构笔记!真是太TM重要了

比伯

Java 架构 面试 程序人生 算法

DevSecOps:好处和挑战

啸天

敏捷开发 运维自动化 DevSecOps 应用安全

【小菜学网络】MAC地址详解

fasionchan

网络编程 网络协议 TCP/IP

区块链未来三年内将广泛落地

CECBC

区块链

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