Druid:实时处理时序数据的OLAP数据库

大数据分析和Druid

大数据一直是近年的热点话题,随着数据量的急速增长,数据处理的规模也从GB 级别增长到TB 级别,很多图像应用领域已经开始处理PB 级别的数据分析。大数据的核心目标是提升业务的竞争力,找到一些可以采取行动的洞察(Actionable Insight),数据分析就是其中的核心技术,包括数据收集、处理、建模和分析,最后找到改进业务的方案。

最近一两年,随着大数据分析需求的爆炸性增长,很多公司都经历过将以关系型商用数据库为基础的数据平台,转移到一些开源生态的大数据平台,例如Hadoop 或Spark 平台,以可控的软硬件成本处理更大的数据量。Hadoop 设计之初就是为了批量处理大数据,但数据处理实时性经常是它的弱点。例如,很多时候一个MapReduce 脚本的执行,很难估计需要多长时间才能完成,无法满足很多数据分析师所期望的秒级返回查询结果的分析需求。

为了解决数据实时性的问题,大部分公司都有一个经历,将数据分析变成更加实时的可交互方案。其中,涉及新软件的引入、数据流的改进等。数据分析的几种常见方法如下图。

Druid:实时处理时序数据的OLAP数据库

整个数据分析的基础架构通常分为以下几类。

(1)使用Hadoop/Spark 的MR 分析。

(2)将Hadoop/Spark 的结果注入RDBMS 中提供实时分析。

(3)将结果注入到容量更大的NoSQL 中,例如HBase 等。

(4)将数据源进行流式处理,对接流式计算框架,如Storm,结果落在RDBMS/NoSQL 中。

(5)将数据源进行流式处理,对接分析数据库,例如Druid、Vertica 等。

Druid 的三个设计原则

在设计之初,开发人员确定了三个设计原则(Design Principle)。

(1)快速查询(Fast Query):部分数据的聚合(Partial Aggregate)+内存化(In-emory)+索引(Index)。

(2)水平扩展能力(Horizontal Scalability):分布式数据(Distributed Data)+ 并行化查询(Parallelizable Query)。

(3)实时分析(Realtime Analytics):不可变的过去,只追加的未来(Immutable Past,Append-Only Future)。

Druid 的技术特点

Druid 具有如下技术特点。

• 数据吞吐量大。

• 支持流式数据摄入和实时。

• 查询灵活且快。

• 社区支持力度大。

Druid 的应用场景

从技术定位上看,Druid 是一个分布式的数据分析平台,在功能上也非常像传统的OLAP系统,但是在实现方式上做了很多聚焦和取舍,为了支持更大的数据量、更灵活的分布式部署、更实时的数据摄入,Druid 舍去了OLAP 查询中比较复杂的操作,例如JOIN 等。相比传统数据库,Druid 是一种时序数据库,按照一定的时间粒度对数据进行聚合,以加快分析查询。

本文选自《Druid实时大数据分析原理与实践》。


本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI研习社

2017,外媒眼中最热门数据库是哪个?

AI 研习社消息:近日,国外知名 IT 技术媒体 Jaxenter 进行了数据库观点调查,对开发者眼中数据库领域最热门的话题、最热门的数据存储以及处理工具进行统...

3838
来自专栏数据和云

Oracle宣布在云上正式上线 自治事务处理数据库

在 8 月7日,Oracle 宣布在云上正式上线自治事务处理数据库,这个名词 ATP应对于早前发布的 ADW(今年 3月份 Oracle 宣布正式上线的自治数据...

1133
来自专栏Java学习网

程序员如何提一个好问题

开始 我实际上是那种总是会问出愚蠢问题或“不好”问题的大信徒。我一直在问人们一些愚蠢并且完全可以通过谷歌搜索或搜索代码库解决的问题。大多数时候我都不愿意自己去搜...

2964
来自专栏腾讯移动品质中心TMQ的专栏

悄悄问女儿,圣僧美不美——记鹅厂测试人的一天

久别重逢非昨日,万语千言不多谈。趁着年味还未散去,今天小编向您推送生活小文——记鹅厂测试人的一天,敬请欣赏 ^_^

60310
来自专栏华章科技

分享:6个公司大数据岗位的面试经验

一面:技术人员面,先自我介绍,项目经验相关介绍,问比较细,问了一些Hadoop、HBase的问题,JAVA基础,JVM内存分配小于32G原因,G1和CMS对比,...

1561
来自专栏斑斓

一文讲清楚什么是行为驱动开发

行为驱动开发(Behavior-Driven Development, BDD)的概念来自于测试驱动开发,强调使用DSL(Domain Specific Lan...

1142
来自专栏星流全栈

开源项目的正确打开方式:如何发明完美符合自己业务特点的轮子?

1716
来自专栏好好学java的技术栈

[脑图]如何入门技术、进阶技术(技术开发人员)

1184
来自专栏Java进阶架构师

GitHub 上万 star 项目大佬的自谦:一个学渣的阿里之路

最近有些朋友在面试阿里,加上 Java-Interview 项目的原因也有小伙伴和我讨论,近期也在负责部门的招聘,这让我想起年初那段长达三个月的奇葩面试经历?。

2452
来自专栏Java技术栈

Java程序员必看的 13 本 Java 书籍!

毕竟,书是学习的海洋呢!So,Java程序员你们准备好了吗?双手奉上Java程序员必读之热门书单。

3684

扫码关注云+社区

领取腾讯云代金券