Greenplum DB大规模并行处理系统
Greenplum 之前属于Pivotal,是一家总部位于美国加利福尼亚州,为全球大型企业用户提供新型企业级数据仓库(EDW)、企业级数据云(EDC)和商务智能(BI)提供解决方案和咨询服务的公司。目前 Greenplum 已经归属 VMware。
Greenplum 数据库 (gpdb)号称是世界上第一个开源的大规模并行数据仓库,2019年,Greenplum被Gartner评为全球排名第三的分析型数据库和排名第四的实时分析数据库。
Greenplum基于MPP(大规模并行处理)架构,最初是基于 PostgreSQL,现在已经添加了大量数据库方面的创新。Greenplum 提供 PB 级别数据量的强大和快速分析能力,特别是面向大数据方面的分析能力,支持大数据的超高性能分析查询。Greenplum内置并行存储、并行通讯、并行计算和优化技术,支持持扩展(Extension)、自定义类型和函数、PXF和外部表技术。
Greenplum 主要特性:
-
大规模并行处理架构
-
高性能加载,使用 MPP 技术,提供 Petabyte 级别数据量的加载性能
-
大数据工作流查询优化
-
多态数据存储和执行
-
支持多种数据格式,包括结构化、半结构化(XML、JSON、KV)和非结构化(文本数据、GIS数据、图数据等)
-
支持SQL、JDBC和ODBC等行业标准
-
支持商业智能(BI)、文本、GIS、图像、流式数据处理等
-
基于 Apache MADLib 的高级机器学习功能
-
HTAP能力,支持涵盖OLTP型业务的混合负载
Greenplum 采用 Apache 协议开源之后,加上之前的 HAWQ,PostgreSQL 以及 PostGIS,完全可以构建一体化的 PostgreSQL 企业数据架构。
Greenplum的架构采用了MPP(大规模并行处理)。在 MPP 系统中,每个 SMP 节点也可以运行自己的操作系统、数据库等。换言之,每个节点内的 CPU 不能访问另一个节点的内存。节点之间的信息交互是通过节点互联网络实现的,这个过程一般称为数据重分配(Data Redistribution) 。与传统的SMP架构明显不同,通常情况下,MPP系统因为要在不同处理单元之间传送信息,所以它的效率要比SMP要差一点,但是这也不是绝对的,因为 MPP系统不共享资源,因此对它而言,资源比SMP要多,当需要处理的事务达到一定规模时,MPP的效率要比SMP好。这就是看通信时间占用计算时间的比例而定,如果通信时间比较多,那MPP系统就不占优势了,相反,如果通信时间比较少,那MPP系统可以充分发挥资源的优势,达到高效率。当前使用的 OTLP程序中,用户访问一个中心数据库,如果采用SMP系统结构,它的效率要比采用MPP结构要快得多。而MPP系统在决策支持和数据挖掘方面显示了优势,可以这样说,如果操作相互之间没有什么关系,处理单元之间需要进行的通信比较少,那采用MPP系统就要好,相反就不合适了。