大数据繁荣生态圈组件之实时大数据Druid小传(一)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 根据上面的总结,随着每日增量数据的累加,短期来看mysql数据库是能够承载一定程度的数据量的,但是长期来看,mysql数据库将不堪重负。因此,我们需要寻找mysql数据库的替代方案,这里我们选择了apache druid实时数据库。

Druid小传


RDBMS劣势


项目中采用的关系型数据库是mysql,那么关系型数据库有哪些优劣势,我们可以参考下面的分析:

关系型数据库的优点:


1.基于ACID,支持事务,适合于对安全性和一致性要求高的的数据访问

2.可以进行Join等复杂查询,处理复杂业务逻辑,比如:报表

3.使用方便,通用的SQL语言使得操作关系型数据库非常方便


关系型数据库的劣势:


1.不擅长大量数据的写入处理

2.每个字段都会占用一定的磁盘空间,不具有稀疏性

3.高并发下性能、吞吐量较低

4.扩展性不如非关系型数据库方便


根据上面的总结,随着每日增量数据的累加,短期来看mysql数据库是能够承载一定程度的数据量的,但是长期来看,mysql数据库将不堪重负。因此,我们需要寻找mysql数据库的替代方案,这里我们选择了apache druid实时数据库。


Druid简述


基于 Hadoop 的大数据平台,有如下一些问题:


(1)无法保障查询性能

对于Hadoop使用的MapReduce批处理框架,数据何时能够查询没有性能保证


(2)随机IO问题

HDFS以集群硬盘作为存储资源池的分布式文件系统;

在海量数据的处理过程中,会引起大量的读写操作,随机IO是高并发场景下的性能瓶颈


(3)数据查询效率问题

HDFS对于数据分析以及数据的即席查询,HDFS并不是最优的选择。

传统的Hadoop大数据处理架构更倾向于一种“后台批处理的数据仓库系统”,其作为海量历史数据保存、冷数据分析,确实是一个优秀的通用解决方案,但问题主要体现为:


1.无法保证高并发环境下海量数据的查询分析性能

2.无法实现海量实时数据的查询分析与可视化


Druid的介绍


Druid是由一个名为 MetaMarket 的公司开发的;2011年,MetaMarket 开始研发自己的"轮子"Druid,将Druid定义为“开源、分布式、面向列式存储的实时分析数据存储系统”。


要解决的"痛点"是:

1.在高并发环境下,保证海量数据查询分析性能

2.同时提供海量实时数据的查询、分析与可视化功能


Druid是面向海量数据的、用于实时查询与分析的OLAP存储系统。Druid的关键特性如下:


1.亚秒级的OLAP查询分析

采用了列式存储、倒排索引、位图索引等关键技术


2.在亚秒级别内完成海量数据的过滤、聚合以及多维分析等操作


3.实时流数据分析

传统分析型数据库采用的批量导入数据,进行分析的方式

Druid提供了实时流数据分析,以及高效实时写入


4.实时数据在亚秒级内的可视化


5.丰富的数据分析功能

Druid提供了友好的可视化界面


6.SQL查询语言

REST查询接口


7.高可用性与高可拓展性

Druid工作节点功能单一,不相互依赖

Druid集群在管理、容错、灾备、扩容都很容易


注意:阿里巴巴也曾创建过一个开源项目叫 Druid (简称阿里 Druid),它是一个数据库连接池项目。阿里 Druid 和 我们要讨论的Druid 没有任何关系,它们解决完全不同的问题


Druid的典型应用架构


865d1a902f3540c9be0449add46a64d4.png


Druid 对比其他OLAP


Druid vs. Elasticsearch


Druid在导入过程会对原始数据进行Rollup,而ES会保存原始数据

Druid专注于OLAP,针对数据导入以及快速聚合操作做了优化

Druid不支持全文检索


Druid vs. Key/Value Stores (HBase/Cassandra/OpenTSDB)


Druid采用列式存储,使用倒排和bitmap索引,可以做到快速扫描相应的列


Druid vs. Spark


Spark SQL的响应还不做到亚秒

Druid可以做到超低的响应时间,例如亚秒,而且高并发面向用户的应用。


Druid vs SQL-on-Hadoop (Impala/Drill/Spark SQL/Presto)


Driud查询速度更快

数据导入,Druid支持实时导入,SQL-on-Hadoop一般将数据存储在Hdfs上,Hdfs的写入速度有可能成为瓶颈

SQL支持,Druid也支持SQL,但Druid不支持Join操作


Druid vs. Kylin


Kylin不支持实时查询,Druid支持

Kylin支持表连接(Join),Druid不支持

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
1月前
|
存储 分布式计算 API
大数据-107 Flink 基本概述 适用场景 框架特点 核心组成 生态发展 处理模型 组件架构
大数据-107 Flink 基本概述 适用场景 框架特点 核心组成 生态发展 处理模型 组件架构
84 0
|
12天前
|
SQL 数据采集 分布式计算
【赵渝强老师】基于大数据组件的平台架构
本文介绍了大数据平台的总体架构及各层的功能。大数据平台架构分为五层:数据源层、数据采集层、大数据平台层、数据仓库层和应用层。其中,大数据平台层为核心,负责数据的存储和计算,支持离线和实时数据处理。数据仓库层则基于大数据平台构建数据模型,应用层则利用这些模型实现具体的应用场景。文中还提供了Lambda和Kappa架构的视频讲解。
【赵渝强老师】基于大数据组件的平台架构
|
1月前
|
存储 分布式计算 druid
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
40 1
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
|
1月前
|
存储 分布式计算 druid
大数据-149 Apache Druid 基本介绍 技术特点 应用场景
大数据-149 Apache Druid 基本介绍 技术特点 应用场景
58 1
大数据-149 Apache Druid 基本介绍 技术特点 应用场景
|
12天前
|
SQL 分布式计算 大数据
【赵渝强老师】大数据生态圈中的组件
本文介绍了大数据体系架构中的主要组件,包括Hadoop、Spark和Flink生态圈中的数据存储、计算和分析组件。数据存储组件包括HDFS、HBase、Hive和Kafka;计算组件包括MapReduce、Spark Core、Flink DataSet、Spark Streaming和Flink DataStream;分析组件包括Hive、Spark SQL和Flink SQL。文中还提供了相关组件的详细介绍和视频讲解。
|
1月前
|
SQL 存储 分布式计算
大数据-157 Apache Kylin 背景 历程 特点 场景 架构 组件 详解
大数据-157 Apache Kylin 背景 历程 特点 场景 架构 组件 详解
29 9
|
1月前
|
消息中间件 存储 druid
大数据-156 Apache Druid 案例实战 Scala Kafka 订单统计
大数据-156 Apache Druid 案例实战 Scala Kafka 订单统计
41 3
|
1月前
|
存储 分布式计算 druid
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
54 3
|
1月前
|
消息中间件 分布式计算 druid
大数据-154 Apache Druid 架构与原理详解 基础架构、架构演进
大数据-154 Apache Druid 架构与原理详解 基础架构、架构演进
40 2
|
1月前
|
消息中间件 druid 大数据
大数据-153 Apache Druid 案例 从 Kafka 中加载数据并分析(二)
大数据-153 Apache Druid 案例 从 Kafka 中加载数据并分析(二)
33 2