Google Dremel vs. Apache Hadoop

云计算 Hadoop
Google Dremel是个可扩展的、交互式的即时查询系统,专注于只读嵌套(nested)数据的分析。通过集合不同层次的执行树和柱状的数据布局,他能够在几秒内完成在万亿张表上的聚合查询。系统可以扩展到成千上万的CPU上,满足Google上万用户操作PB及的数据。

Naresh Kumar在介绍两者之间的区别之前,首先针对Google Dremel进行简单的描述:

什么是Google Dremel?

Google Dremel是个可扩展的、交互式的即时查询系统,专注于只读嵌套(nested)数据的分析。通过集合不同层次的执行树和柱状的数据布局,他能够在几秒内完成在万亿张表上的聚合查询。系统可以扩展到成千上万的CPU上,满足Google上万用户操作PB及的数据。

Apache Hadoop vs Google Dremel:两者之间的不同

Dremel是个数据分析工具,经专门设计用于完成大规模查询结构化数据集(如日志和事件文件)。它支持类SQL语法,区别在于它是只读的。不支持修改或者建立功能,也没有表索引。数据被列式存储,这样有助于提升查询的速度。Google的BigQuery就是Dremel通过RESTful API的一种实现。

Hadoop(MapReduce的一种开源实现)集合了“Hive”数据仓库软件,同样允许使用SQL语句对大量的数据集进行数据分析。Hive本质上是把查询转换成MapReduce运算。对比使用ColumIO格式,Hive则是使用表索引的思想去优化查询。

Hadoop更多的则是用于批处理,这就意味着数据是运行在你已经拥有的数据集上。有数据流入时,流引擎会进行处理。“流”和“实时”通常被互换使用,这也是导致Dremel和Drill混淆的原因,通常都会把它们归类成延时。

值得注意的是Google只是打算将Dremel作为MapReduce的一种补充,而不是替换。通过论文也可以得知,Dremel被频繁的用于分析MapReduce的结果或者是作为大规模计算的测试。Dremel可以做那些通常需要一系列MapReduce才可以完成的查询,但是花费的时间只是使用MapReduce的一小部分。如前所述,Dremel从速度上完全超越MapReduce。

Google Dremel vs Apache Drill

Apache Drill更像是Google Drill的开原版本。OpenDremel,另一个创建Dremel开源版本的项目。当然还有一些其他支持大数据快速查询的项目,比如:Apache CouchDB和Cloudant的演变版本BigCouch。

其他一些大数据分析工具和技术

1. Storm —— Backtype开发并被Twitter开源。

2. Apache S4 —— Yahoo!开源。

而流引擎就是这些实时大数据处理系统(比如Storm和S4)与Dremel的最大区别,当然Dremel是专门针对查询设计。

责任编辑:王程程 来源: The Professionals Point
相关推荐

2020-04-15 10:21:43

云计算AWSAzure

2020-07-21 07:58:17

云计算AWSAzure

2012-12-03 09:29:52

HadoopMapReduceHive

2012-08-27 10:04:20

Google Drem

2012-12-04 10:54:21

Hadoop云服务微软

2021-01-13 16:04:07

网络On-Prem托管

2014-09-28 10:29:43

乔布斯施密特Android

2021-12-23 15:36:21

NASSANDAS

2022-06-01 13:52:11

开源大数据

2019-05-24 11:13:51

AWSAzureGoogle

2020-01-13 15:38:33

Hadoop代码项目

2020-08-25 09:14:17

对象存储文件存储块存储

2023-05-22 19:49:30

命令Linux

2024-09-12 22:45:47

2022-01-26 10:26:57

ChromeBrave网页浏览器

2019-04-02 15:07:51

API NginxZuul

2022-01-25 19:36:46

ChromeBrave浏览器

2013-04-25 10:21:10

Facebook数据中心Google

2013-04-09 10:15:13

公有云私有云混合云

2022-08-04 14:54:50

APTDNFYUM
点赞
收藏

51CTO技术栈公众号