您的位置:首页 > 运维架构

hadoopDB 数据仓库 简介

2012-02-08 16:50 323 查看
读了两篇关于hadoopDB数据仓库的论文之后,写一点关于hadoopDB的简介:

hadoopDB是耶鲁大学的一个大学项目, 目的是为了构建一个数据仓库的工具。

HadoopDB 结合了hadoop 和paralled RDBMS,结合两个技术的优点。

HadoopDB is to connect multiple single_node database systemusing Hadoop as the task coordinator and network communication layer.

Hadoop的优点:fault toleranceand ability to operate in a heterogeneous environment properties.

缺点: performance,特别是对于join和aggregation操作。

Paralled RDBMS的优点: performance, 特别是对于join和aggregation的优化 处理。

缺点:就是hadoop的优点。

原来hadoop + hive就是一套完整数据仓库工具,hive的作用是把用户输入的类SQL语句翻译成hadoop能够执行一些操作-mapreduce的任务tree(包含多个mapreduce的操作),只有由hadoop去执行。但是这些操作都是基于google自己的HDFS,所以在performance上并不是理想。同类的产品还有yahoo的pig, Microsoft的SCOPE。

HadoopDB的最终想法就是在map阶段把SQL语句尽量的让paralledRDBMS 去执行,尽量发挥并行数据库系统的优势,之后把每个node的输出序列化到temp文件中,在reduce阶段把结果从temp文件中读出即可。

如果实在不能让paralled RDBMS去执行,那么只能依靠mapReduce的功能。



上面是HadooopDB的一个结构图,在原来的hadoop+ hive的基础上,增加了一些组件:

1. SMS Planner.

不清楚是SMS Planner是独立于hive,还是依赖于hive.现在暂且认为SMSPlanner的作用是在hive解析SQL语句生成mapreduce任务tree之后,对mapreduce任务tree进行优化,尽量指导hadoop去paralledDatabase中执行SQL。

2. Catalog。

里面存储了paralled database的一些信息。

3. Data loader。

负责把原始数据load到paralleddatabase中,需要完成的工作是对原始数据的partition.

4. Database Connector

该类继承自hadoop的inputformat类,用于向各个node传递信息,Databaseconnector里面包含了node里面database的链接信息和需要执行的SQL语句。

5. Paralled DataBase.

用于代替HDBS在各个node上存储数据。

以下面SQL语句为例:

SELECT YEAR(saleDate),SUM(revenue)

FROM sales GROUP BY YEAR(saleDate);

1. 对于hive来说,他会把他翻译成如下步骤:



2. 而通过SMS planner对上面plan的修改,如果在partition的时候,所有的表格是以year为attribute做的partition,那么每个database里面的数据是独立的,也就是可以把上述SQL语句直接给node中的database做查询。那么修改之后的plan如下:

只需要Map阶段把SQL语句传递给每个node,每个node只需要返回查询结果即可,不需要在reduce阶段做什么操作。



3. 但是如果在partition的时候,所有的表格没有以year为attribute做partition, 那么各个database里面的数据不是独立,是需要全部从各个数据库中读出相关表格,之后让mapreduce以year为attribute做map操作,之后对于各个map操作,做reduce操作。



两篇论文:

Abadi - HadoopDB An Architectural Hybrid of MapReduce and DBMS Technologies for Analytical Workloads

Abadi - Efficient Processing of Data Warehousing Queries in a Split Execution Environment
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: