Druid.io(以下简称Druid)是面向海量数据的、用于实时查询与分析的OLAP存储系统。Druid的四大关键特性总结如下:

  1. 亚秒级的OLAP查询分析。Druid采用了列式存储、倒排索引、位图索引等关键技术,能够在亚秒级别内完成海量数据的过滤、聚合以及多维分析等操作。

  2. 实时流数据分析。区别于传统分析型数据库采用的批量导入数据进行分析的方式,Druid提供了实时流数据分析,采用LSM(Long structure merge)-Tree结构使Druid拥有极高的实时写入性能;同时实现了实时数据在亚秒级内的可视化。

  3. 丰富的数据分析功能。针对不同用户群体,Druid提供了友好的可视化界面、类SQL查询语言以及REST 查询接口。

  4. 高可用性与高可拓展性。Druid采用分布式、SN(share-nothing)架构,管理类节点可配置HA,工作节点功能单一,不相互依赖,这些特性都使得Druid集群在管理、容错、灾备、扩容等方面变得十分简单。

1 为什么会有Druid

大数据技术从最早的Hadoop项目开始已经有十多年的历史了,而Druid是在2013年年底才开源的,虽然目前还不是Apache顶级项目,但是作为后起之秀,依然吸引了大量用户的目光,社区也非常活跃。那么,为什么会有Druid,而Druid又解决了传统大数据处理框架下的哪些“痛点”问题,下面我们来一一解答。

大数据时代,如何从海量数据中提取有价值的信息,是一个亟待解决的难题。针对这个问题,IT巨头们已经开发了大量的数据存储与分析类产品,比如IBM Netezza、HP Vertica、EMC GreenPlum等,但是他们大多是昂贵的商业付费类产品,业内使用者寥寥。

而受益于近年来高涨的开源精神,业内出现了众多优秀的开源项目,其中最有名的当属Apache Hadoop生态圈。时至今日,Hadoop已经成为了大数据的“标准”解决方案,但是,人们在享受Hadoop便捷数据分析的同时,也必须要忍受Hadoop在设计上的许多“痛点”,下面就罗列三方面的问题:

  1. 何时能进行数据查询?对于Hadoop使用的Map/Reduce批处理框架,数据何时能够查询没有性能保证。

  2. 随机IO问题。Map/Reduce批处理框架所处理的数据需要存储在HDFS上,而HDFS是一个以集群硬盘作为存储资源池的分布式文件系统,那么在海量数据的处理过程中,必然会引起大量的读写操作,此时随机IO就成为了高并发场景下的性能瓶颈。

  3. 数据可视化问题。HDFS是一个优秀的分布式文件系统,但是对于数据分析以及数据的即席查询,HDFS并不是最优的选择。

传统的大数据处理架构Hadoop更倾向于一种“后台批处理的数据仓库系统”,其作为海量历史数据保存、冷数据分析,确实是一个优秀的通用解决方案,但是如何保证高并发环境下海量数据的查询分析性能,以及如何实现海量实时数据的查询分析与可视化,Hadoop确实显得有些无能为力。

2 Druid直面痛点

Druid的母公司MetaMarket在2011年以前也是Hadoop的拥趸者,但是在高并发环境下,Hadoop并不能对数据可用性以及查询性能给出产品级别的保证,使得MetaMarket必须去寻找新的解决方案,当尝试使用了各种关系型数据库以及NoSQL产品后,他们觉得这些已有的工具都不能解决他们的“痛点”,所以决定在2011年开始研发自己的“轮子”Druid,他们将Druid定义为“开源、分布式、面向列式存储的实时分析数据存储系统”,所要解决的“痛点”也是上文中反复提及的“在高并发环境下,保证海量数据查询分析性能,同时又提供海量实时数据的查询、分析与可视化功能”。

Druid.io系列(一):简介相关推荐

  1. 【Proteus+51单片机学习笔记】-51/52系列单片机简介

    0 摘要 本文主要对STC89C52系列单片机进行了简单介绍,对其主要电路进行整理. 1 STC89C52系列单片机简介 STC89C52单片机指令完全兼容传统8051单片机,包括12T和6T两种模式 ...

  2. druid.io剖析

    2019独角兽企业重金招聘Python工程师标准>>> druid.io剖析 简介 druid作为现在最有潜力的海量数据实时分析系统,在优酷广告团队中扮演者非常重要的角色 整体架构 ...

  3. Lattice系列FPGA入门相关1(Lattice系列FPGA简介)

    需求说明:Lattice系统FPGA入门 内容       :Lattice系列FPGA简介 来自       :时间的诗 1.为什么Lattice在进入FPGA市场的第一年就能取得这么好的成绩? 我 ...

  4. Redis6 系列一 简介与安装

    Redis6 系列一 简介与安装 穆成祥 千缘科技 1.      NoSQL数据库简介 1.1.  技术发展 技术的分类 1.解决功能性的问题:Java.Jsp.RDBMS.Tomcat.HTML. ...

  5. RxJava系列1(简介)

    RxJava系列1(简介) RxJava系列2(基本概念及使用介绍) RxJava系列3(转换操作符) RxJava系列4(过滤操作符) RxJava系列5(组合操作符) RxJava系列6(从微观角 ...

  6. druid.io 海量实时OLAP数据仓库 (翻译+总结) (1)——分析框架如hive或者redshift(MPPDB)、ES等...

    介绍 我是NDPmedia公司的大数据OLAP的资深高级工程师, 专注于OLAP领域, 现将一个成熟的可靠的高性能的海量实时OLAP数据仓库介绍给大家: druid.io NDPmedia在2014年 ...

  7. python asyncio_Python 的异步 IO:Asyncio 简介

    原标题:Python 的异步 IO:Asyncio 简介 Python 的 asyncio 类似于 C++ 的 Boost.Asio. 异步 IO,就是你发起一个 IO 操作,不用等它结束,可以继续做 ...

  8. druid.io mysql 配置_druid.io 使用mysql存储metadata overlord启动出错

    这是druid.io批量导入数据时出现的问题,当启动overlord节点时,运行的命令如下: java -Xmx2g -Duser.timezone=UTC -Dfile.encoding=UTF-8 ...

  9. java io系列09之 FileDescriptor总结

    转载自    java io系列09之 FileDescriptor总结 FileDescriptor 介绍 FileDescriptor 是"文件描述符". FileDescri ...

最新文章

  1. OpenvSwitch代码分析之bridge和port
  2. 深入解析JavaScript 原型继承
  3. 解决VS 于 致命错误 RC1015: 无法打开包含文件 #39;afxres.h#39; 问题
  4. HTTP、HTTPS、SSL总结
  5. 秀操作:函数宏的三种封装方式
  6. php 接口缓存,php写的一个缓存接口demo,兼容redis和memcache
  7. python处理文件夹_python文件及文件夹操作
  8. 【Nginx那些事】nginx 安装及常用指令
  9. Kotlin学习笔记30 补充 作用域函数
  10. dbf如何导入oracle_克服Oracle导数一切难题
  11. 为什么visual的联机浏览功能不能用_Minecraft非正版联机教程
  12. 基于标签传递的重叠社区发现算法(COPRA算法)
  13. python中利用字典加密字符串_Python列表,字典和字符串操作
  14. 一张让android死机图片,导致安卓手机死机的照片拍摄者表示这张照片是无意之举...
  15. VUE3 使用 Ant Design Vue的icon图标
  16. android截视频软件,裁剪切视频app
  17. C++迭代加深搜索及其例题讲解—————Addition Chains
  18. 旷厂练习生 Vol.15 | CV 小白在旷视 4 个月就能写顶会 paper?来听听机甲大师 Albert 的故事!...
  19. Linux 设置VGA模式
  20. 有限元分析的分析流程

热门文章

  1. matlab 两幅图求并集,MATLAB交并集运算
  2. 关于DWA导致的程序崩溃或挂死问题
  3. Linux(U盘挂载,玩客云armbian详细挂载U盘扩容)
  4. linux进程操作相关函数,Linux进程控制简介与要素及相关函数详解
  5. 03-1 手敲八千字,认识垃圾收集器必须清楚的前置知识【垃圾收集器的内存分配策略】
  6. scsi中DPO和FUA 是什么
  7. Direct3D 10系统(三)
  8. 解决:MAC 禁止 docker 开机自启
  9. effective C++ 第三版
  10. 数据可视化-----标签云的实现