Greenplum DB - 大规模并行处理系统


Apache
跨平台
C/C++

软件简介

Greenplum
之前是一家总部位于美国加利福尼亚州,为全球大型企业用户提供新型企业级数据仓库(EDW)、企业级数据云(EDC)和商务智能(BI)提供解决方案和咨询服务的公司。目前
Greenplum 已经归属 Pivotal。

Greenplum DB (gpdb)号称是世界上第一个开源的大规模并行数据仓库,最初是基于
PostgreSQL,现在已经添加了大量数据库方面的创新。Greenplum 提供 PD
级别数据量的强大和快速分析能力,特别是面向大数据方面的分析能力,支持大数据的超高性能分析查询。

GreenPlum 主要特性:

  • 大规模并行处理架构

  • 高性能加载,使用 MPP 技术,提供 Petabyte 级别数据量的加载性能

  • 大数据工作流查询优化

  • 多态数据存储和执行

  • 基于 Apache MADLib 的高级机器学习功能

Greenplum 采用 Apache 协议开源之后,加上之前的
HAWQPostgreSQL
以及 PostGIS,完全可以构建一体化的 PostgreSQL 企业数据架构。

Greenplum的架构采用了MPP(大规模并行处理)。在 MPP 系统中,每个 SMP 节点也可以运行自己的操作系统、数据库等。换言之,每个节点内的
CPU 不能访问另一个节点的内存。节点之间的信息交互是通过节点互联网络实现的,这个过程一般称为数据重分配(Data Redistribution)
。与传统的SMP架构明显不同,通常情况下,MPP系统因为要在不同处理单元之间传送信息,所以它的效率要比SMP要差一点,但是这也不是绝对的,因为
MPP系统不共享资源,因此对它而言,资源比SMP要多,当需要处理的事务达到一定规模时,MPP的效率要比SMP好。这就是看通信时间占用计算时间的比例而定,如果通信时间比较多,那MPP系统就不占优势了,相反,如果通信时间比较少,那MPP系统可以充分发挥资源的优势,达到高效率。当前使用的
OTLP程序中,用户访问一个中心数据库,如果采用SMP系统结构,它的效率要比采用MPP结构要快得多。而MPP系统在决策支持和数据挖掘方面显示了优势,可以这样说,如果操作相互之间没有什么关系,处理单元之间需要进行的通信比较少,那采用MPP系统就要好,相反就不合适了。