Druid.io系列(一):简介
Druid.io(以下简称Druid)是面向海量数据的、用于实时查询与分析的OLAP存储系统。Druid的四大关键特性总结如下:
亚秒级的OLAP查询分析。Druid采用了列式存储、倒排索引、位图索引等关键技术,能够在亚秒级别内完成海量数据的过滤、聚合以及多维分析等操作。
实时流数据分析。区别于传统分析型数据库采用的批量导入数据进行分析的方式,Druid提供了实时流数据分析,采用LSM(Long structure merge)-Tree结构使Druid拥有极高的实时写入性能;同时实现了实时数据在亚秒级内的可视化。
丰富的数据分析功能。针对不同用户群体,Druid提供了友好的可视化界面、类SQL查询语言以及REST 查询接口。
高可用性与高可拓展性。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在设计上的许多“痛点”,下面就罗列三方面的问题:
何时能进行数据查询?对于Hadoop使用的Map/Reduce批处理框架,数据何时能够查询没有性能保证。
随机IO问题。Map/Reduce批处理框架所处理的数据需要存储在HDFS上,而HDFS是一个以集群硬盘作为存储资源池的分布式文件系统,那么在海量数据的处理过程中,必然会引起大量的读写操作,此时随机IO就成为了高并发场景下的性能瓶颈。
数据可视化问题。HDFS是一个优秀的分布式文件系统,但是对于数据分析以及数据的即席查询,HDFS并不是最优的选择。
传统的大数据处理架构Hadoop更倾向于一种“后台批处理的数据仓库系统”,其作为海量历史数据保存、冷数据分析,确实是一个优秀的通用解决方案,但是如何保证高并发环境下海量数据的查询分析性能,以及如何实现海量实时数据的查询分析与可视化,Hadoop确实显得有些无能为力。
2 Druid直面痛点
Druid的母公司MetaMarket在2011年以前也是Hadoop的拥趸者,但是在高并发环境下,Hadoop并不能对数据可用性以及查询性能给出产品级别的保证,使得MetaMarket必须去寻找新的解决方案,当尝试使用了各种关系型数据库以及NoSQL产品后,他们觉得这些已有的工具都不能解决他们的“痛点”,所以决定在2011年开始研发自己的“轮子”Druid,他们将Druid定义为“开源、分布式、面向列式存储的实时分析数据存储系统”,所要解决的“痛点”也是上文中反复提及的“在高并发环境下,保证海量数据查询分析性能,同时又提供海量实时数据的查询、分析与可视化功能”。
Druid.io系列(一):简介相关推荐
- 【Proteus+51单片机学习笔记】-51/52系列单片机简介
0 摘要 本文主要对STC89C52系列单片机进行了简单介绍,对其主要电路进行整理. 1 STC89C52系列单片机简介 STC89C52单片机指令完全兼容传统8051单片机,包括12T和6T两种模式 ...
- druid.io剖析
2019独角兽企业重金招聘Python工程师标准>>> druid.io剖析 简介 druid作为现在最有潜力的海量数据实时分析系统,在优酷广告团队中扮演者非常重要的角色 整体架构 ...
- Lattice系列FPGA入门相关1(Lattice系列FPGA简介)
需求说明:Lattice系统FPGA入门 内容 :Lattice系列FPGA简介 来自 :时间的诗 1.为什么Lattice在进入FPGA市场的第一年就能取得这么好的成绩? 我 ...
- Redis6 系列一 简介与安装
Redis6 系列一 简介与安装 穆成祥 千缘科技 1. NoSQL数据库简介 1.1. 技术发展 技术的分类 1.解决功能性的问题:Java.Jsp.RDBMS.Tomcat.HTML. ...
- RxJava系列1(简介)
RxJava系列1(简介) RxJava系列2(基本概念及使用介绍) RxJava系列3(转换操作符) RxJava系列4(过滤操作符) RxJava系列5(组合操作符) RxJava系列6(从微观角 ...
- druid.io 海量实时OLAP数据仓库 (翻译+总结) (1)——分析框架如hive或者redshift(MPPDB)、ES等...
介绍 我是NDPmedia公司的大数据OLAP的资深高级工程师, 专注于OLAP领域, 现将一个成熟的可靠的高性能的海量实时OLAP数据仓库介绍给大家: druid.io NDPmedia在2014年 ...
- python asyncio_Python 的异步 IO:Asyncio 简介
原标题:Python 的异步 IO:Asyncio 简介 Python 的 asyncio 类似于 C++ 的 Boost.Asio. 异步 IO,就是你发起一个 IO 操作,不用等它结束,可以继续做 ...
- druid.io mysql 配置_druid.io 使用mysql存储metadata overlord启动出错
这是druid.io批量导入数据时出现的问题,当启动overlord节点时,运行的命令如下: java -Xmx2g -Duser.timezone=UTC -Dfile.encoding=UTF-8 ...
- java io系列09之 FileDescriptor总结
转载自 java io系列09之 FileDescriptor总结 FileDescriptor 介绍 FileDescriptor 是"文件描述符". FileDescri ...
最新文章
- OpenvSwitch代码分析之bridge和port
- 深入解析JavaScript 原型继承
- 解决VS 于 致命错误 RC1015: 无法打开包含文件 #39;afxres.h#39; 问题
- HTTP、HTTPS、SSL总结
- 秀操作:函数宏的三种封装方式
- php 接口缓存,php写的一个缓存接口demo,兼容redis和memcache
- python处理文件夹_python文件及文件夹操作
- 【Nginx那些事】nginx 安装及常用指令
- Kotlin学习笔记30 补充 作用域函数
- dbf如何导入oracle_克服Oracle导数一切难题
- 为什么visual的联机浏览功能不能用_Minecraft非正版联机教程
- 基于标签传递的重叠社区发现算法(COPRA算法)
- python中利用字典加密字符串_Python列表,字典和字符串操作
- 一张让android死机图片,导致安卓手机死机的照片拍摄者表示这张照片是无意之举...
- VUE3 使用 Ant Design Vue的icon图标
- android截视频软件,裁剪切视频app
- C++迭代加深搜索及其例题讲解—————Addition Chains
- 旷厂练习生 Vol.15 | CV 小白在旷视 4 个月就能写顶会 paper?来听听机甲大师 Albert 的故事!...
- Linux 设置VGA模式
- 有限元分析的分析流程