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的信息,大家还可以参考官方提供的入门教程、白皮书 、设计文档等。

摘自 http://www.infoq.com/cn/news/2015/04/druid-data/

转载于:https://www.cnblogs.com/xd502djj/p/4825506.html

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

  1. Druid:一个用于大数据实时处理的开源分布式系统——大数据实时查询和分析的高容错、高性能开源分布式系统...

    转自:http://www.36dsj.com/archives/28590 Druid 是一个用于大数据实时查询和分析的高容错.高性能开源分布式系统,旨在快速处理大规模的数据,并能够实现快速查询和分 ...

  2. 【2017年第4期】流式大数据实时处理技术、平台及应用

    陈纯 浙江大学计算机科学与技术学院,浙江 杭州 310058 摘要:大数据处理系统根据其时效性可分为批式大数据和流式大数据两类.上述两类系统均无法满足"事中"感知查询分析处理模式的 ...

  3. 全面解析流式大数据实时处理技术、平台及应用

    一. 引言 大数据技术的广泛应用使其成为引领众多行业技术进步.促进效益增长的关键支撑技术.根据数据处理的时效性,大数据处理系统可分为批式(batch)大数据和流式(streaming)大数据两类.其中 ...

  4. Flume+Kafka+Storm+Redis构建大数据实时处理系统:实时统计网站PV、UV+展示

    http://blog.51cto.com/xpleaf/2104160?cid=704690 1 大数据处理的常用方法 前面在我的另一篇文章中<大数据采集.清洗.处理:使用MapReduce进 ...

  5. 【ElasticSearch】大数据搜索选开源还是商业软件?ElasticSearch 对比 Splunk

    1.概述 转载:大数据搜索选开源还是商业软件?ElasticSearch 对比 Splunk述 本文就架构,功能,产品线,概念等方面就ElasticSearch和Splunk做了一下全方位的对比,希望 ...

  6. ApacheCON Asia 2021清华大学软件学院王建民:工业大数据软件与开源创新

    演讲人简介 王建民教授,清华大学软件学院院长.大数据系统软件国家工程实验室执行主任.清华大学大数据研究中心常务副主任,工业大数据系统与应用重点北京市重点实验室主任.国家工业互联网战略咨询专家委员会委员 ...

  7. 大数据实时处理-基于Spark的大数据实时处理及应用技术培训

    随着互联网.移动互联网和物联网的发展,我们已经切实地迎来了一个大数据 的时代.大 数据是指无法在一定时间内用常规软件工具对其内容进行抓取.管理和处理的数据集合,对大数据的分析已经成为一个非常重要且紧迫 ...

  8. 大数据实时处理半期总结报告

    时光匆匆,飞速而过,转眼间已经临近期末了,这三个多月在华卫老师的教课中学会了大数据实时处理这门课程,华卫老师在课堂期间严谨认真,又不失幽默风趣的讲课方式,让我更喜欢这门课程,课下问问题华老师也在第一时 ...

  9. 【干货】全球大数据领域顶级开源工具汇总

    大数据技术从业人员必读 一.Hadoop相关工具 1. Hadoop Apache的Hadoop项目已几乎与大数据划上了等号.它不断壮大起来,已成为一个完整的生态系统,众多开源工具面向高度扩展的分布式 ...

最新文章

  1. 计算机电缆数字是什么意思,DJYPV4*2*1.0 计算机电缆规格含义
  2. iOS 9 学习系列:UIStack View
  3. eclipse无法启动,双击后自动退出,无任何错误提示
  4. Android编译笔记二
  5. Java黑皮书课后题第2章:*2.21(金融应用:计算未来投资回报)编写程序,读取投资总额、年利率和年龄,显示未来投资回报金额
  6. 程序员幽默:年后上班综合症,你中了几招?!!
  7. win2003 sp2+iis 6.0上部署.net 2.0和.net 4.0网站的方法
  8. Python笔记-U2解锁手机九宫格
  9. MySQL JSON 类型数据操作
  10. C语言的一些知识总结
  11. Android程序开发学习之创建第一个Android程序(Hello World程序)
  12. 编程语言中,取余和取模的区别到底是什么?
  13. 【Python标准库】用了Secrets,再也不用担心密码泄露
  14. HITRAN数据库的使用及考虑辐射时喷管烧蚀的仿真(附代码)
  15. 安卓开发——修改Toolbar默认图标(如返回图标)的颜色
  16. python相对导入常见问题和解决方案
  17. OpenCV(3.4.1)错误 Assertion failed (chunk.m_size 0xFFFF)
  18. 10.3_word2vec-pytorch
  19. ZOJ 1598 Spherical Triangle
  20. CDN工作原理(CNAME)

热门文章

  1. 资深美术师:3A转手游研发需要注意的方法
  2. 努力一下,还是可以成为技术美术(TA)的
  3. 《港诡实录》:搞恐怖和看大腿究竟哪个更重要?
  4. “压倒性快感”是怎么来的?氪金抽卡,是利用认知BUG的最强发明
  5. 【蓝桥杯省赛】冲刺练习题【动态规划】倒计时【08】天
  6. for循环与while循环效率对比·5年以下编程经验必看C#】
  7. eclipse 更换主题
  8. Java Eclipse和MyEclipse快捷键
  9. EasyUI datagrid : 启用行号、固定列及多级表头后,头部行号位置单元格错位的问题...
  10. sql中union和union all的区别