Greenplum Pivotal HD结合了SQL和Hadoop的优势

EMC Greenplum宣布了一个新的Hadoop发行版本——Pivotal HD,其中包含一个完全运行于HDFS之上的MPP数据库,兼容SQL,而且速度“比Hive快数百倍”。

Pivotal HD支持标准Hadoop发型版本的常用特性(包括HDFS、Pig、Hive、Mahout和Map-Reduce等),但又加入了一些其他的组件,具体如下面结构图所示: 

Greenplum Pivotal HD结合了SQL和Hadoop的优势_第1张图片

Pivotal的主要组件是HAWQ,这是一个MPP(Massively Parallel Processing)关系数据库,借助一种动态流水线机制直接运行于Hadoop中的HDFS之上,其特性包括:

  • 兼容SQL——支持各个版本的SQL,包括SQL92、SQL99和SQL 2003 OLAP等。百分之百兼容PostgreSQL 8.2。
  • 面向行或面向列的数据存储。
  • 查询优化器——查询可以运行于成千上万个节点上。
  • 完全兼容ODBC/JDBC。
  • 交互式查询——大数据集上的复杂查询可以以秒级或次秒级的速度解决。
  • 数据管理——提供了表统计和表安全等功能。
  • 支持存储在HDFS、Hive、HBase、Avro、ProtoBuf、分隔的文本和序列化文件中的数据。
  • 深度分析——包含了数据挖掘和机器学习算法。

Greenplum的高级技术总监Gavin Sherry做了一个演示(见该视频的42分42秒),在60个节点组成的HDFS集群上,有总量达几个TB的10亿行数据,下列SQL语句可以在13秒内执行完,这提供了接近实时的能力:

SELECT gender, count (*)
FROM retail.order JOIN customers ON retail.order.customer_ID = customers.customer_ID
GROUP BY gender;

据EMC Greenplum 的解决方案架构师Donald Miner介绍,“HAWQ比Hive快数百倍”,下图是Greenplum提供的基准测试结果(PDF):

Greenplum Pivotal HD结合了SQL和Hadoop的优势_第2张图片

HAWQ能够在“次秒级别内”解决查询问题,“同时做到了在同一引擎内支持规模更大的数据集和完整的SQL表达能力”。Miner解释了这是如何做到的:

我们有所谓的“分段服务器(segment server)”来管理每个表的一个分片。集群中的每个数据节点上会运行一些分段服务器。不过这种数据分片是完全保存在HDFS内的。有一个“主节点”负责存储顶层元数据、构建查询计划并将节点本地的查询推送到分段服务器上。

在查询启动时,数据将从HDFS中读出并加载到HAWQ执行引擎中。HAWQ遵循MPP架构,不同于将数据溢出到磁盘上和在磁盘上建立检查点(如MapReduce),它会让数据流过流水线的不同阶段。另外,分段服务器是一直运行的,所以不存在启动时间。

Pivotal HD有三个版本(PDF):企业版、数据库服务版和用于评估的社区版。
查看英文原文:Greenplum Pivotal HD Combines the Strengths of SQL and Hadoop 

你可能感兴趣的:(Greenplum Pivotal HD结合了SQL和Hadoop的优势)