转自:http://www.36dsj.com/archives/28590

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

转载于:https://www.cnblogs.com/bonelee/p/6404324.html

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

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

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

  2. 开源公告|腾讯云代码分析(TCA)对外开源

    腾讯云代码分析是集众多分析工具的云原生.分布式.高性能的代码综合分析跟踪系统.其主要功能是通过词法分析.语法分析.控制流.数据流分析等技术发现并跟踪管理敏捷迭代下的代码相关问题,并从圈复杂度.重复代码 ...

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

    Druid是一个用于大数据实时查询和分析的高容错.高性能开源分布式系统,旨在快速处理大规模的数据,并能够实现快速查询和分析.尤其是当发生代码部署.机器故障以及其他产品系统遇到宕机等情况时,Druid仍 ...

  4. 七牛大数据平台的演进与大数据分析实践--转

    原文地址:http://www.infoq.com/cn/articles/qiniu-big-data-platform-evolution-and-analysis?utm_source=info ...

  5. 大数据【Java开发转大数据学习路线分解】(不断细化ing)

    技术点: 将基础的数仓搭建沉淀成自己的实践方法论 提高大数据实时处理平台的稳定性和高效性 提升自己分析定位及解决问题的能力 既懂得平台开发又懂得算法原理和应用 注重风控系统,监控大数据平台安全 前后端 ...

  6. 企业数据应用 传统商业智能对比大数据应用

    传统商业智能对比大数据应用 传统商业智能模式 商业智能系统的主要功能 大数据的变革 BI(商业智能) OLTP(联机事务处理) OLAP(联机分析处理) 操作数据库系统和数据仓库系统的区别 为什么需要 ...

  7. 数据吞吐量高达800亿条!实时计算在贝壳找房的应用实践

    摘要:本文由贝壳找房实时计算负责人刘力云分享,主要内容为 Apache Flink 在贝壳找房业务中的应用,分为以下三方面: 业务规模与演进 Hermes 实时计算平台介绍 未来发展与规划 重要:点击 ...

  8. 数据吞吐高达 21 亿条!实时计算在贝壳找房的应用实践

    摘要:本文由贝壳找房实时计算负责人刘力云分享,主要内容为 Apache Flink 在贝壳找房业务中的应用,分为以下三方面: 业务规模与演进 Hermes 实时计算平台介绍 未来发展与规划 重要:点击 ...

  9. #榜样的力量#中诚信征信新冠肺炎全国疫情感染场所实时查询平台丨数据猿新冠战“疫”公益策划...

    "该项目案例由中诚信征信提交申报,参与数据猿推出的<寻找新冠战"疫",中国数据智能产业先锋力量>的公益主题策划活动. 大数据产业创新服务媒体 --聚焦数据 · ...

最新文章

  1. Android Camera设置setPreviewCallback实现onPreviewFrame接口实时截取每一帧视频流数据
  2. Django自身的CBV列表
  3. python正则group()的用法—正则提取括号内以及其他符号内内容
  4. 极光推送android 区分开发测试,给自己的项目做极光推送的步骤
  5. Cocos2d-x 3.1.1 Lua演示样例 ActionManagerTest(动作管理)
  6. java面试核心知识点,详解系列文章
  7. python声音捕获_在Python中实现实时信号处理如何连续捕获音频?
  8. TensorFlow 教程 --教程--2.4MNIST 进阶
  9. React-Native测试报告
  10. Centos7 连接Serial串口记录
  11. safari 下载的文件在app打开
  12. centos 的php5.3.3 升级5.5.3
  13. 《图解TCPIP》知识学习(1.4):协议由谁规定
  14. 经济应用文写作【9】
  15. 计算机考研数学2019,2019计算机考研数学复习:最常遇到的10个问题
  16. 详解百度大脑EdgeBoard出色的视频处理技术
  17. USACO 1359. 城堡(并查集)
  18. matlab中isequal函数,MATLAB中的isequal函数的用法
  19. Google 创始人
  20. JavaScript基础学习——CSS预处理Less

热门文章

  1. html img 指定旋转角度_ALLEN老师自动化测试小课堂 | 生成HTML可视化报告的两个常见模块...
  2. fedora利用vmlinuz和initrd制作linux启动u盘,Fedora 17的U盘安装方法
  3. python做图像处理快不快_Python 图像读写谁最快?不信就比一比
  4. oracle 尖括号_Oracle常用函数整理
  5. 用计算机制作演示文稿教案博客,制作演示文稿 教学反思
  6. c语言邻接表的构建_c语言数据结构--图的邻接矩阵和邻接表操作的基本操作
  7. golang怎么给空结构体赋值
  8. vue中的倒计时跳转页面问题和axios网络请求this作用域问题
  9. ajax提交表单,导致浏览器卡死
  10. 【深度学习】卷积神经网络速成