产品图鉴:Greenplum

2023-10-16 14:15:16 浏览数 (1)

Greenplum是老牌的MPP数据仓库,查询稳定性很强,SQL支持非常全面(支持ANSI SQL 2008和SQL OLAP 2003扩展;支持ODBC和JDBC应用编程接口。完善的标准支持使得系统开发、维护和管理都大为方便。),基于PostgreSQL构建而成,主要面向结构化数据OLAP计算,Greenplum在6.0版本大大的提高了对OLTP的支持,tpcb性能提升60倍,单节点查询达到80000TPS(Transactions Per Second,数据库每秒处理事务数),插入操作达到18000TPS,更新操作约7000TPS。

它支持大数据生态系统(如Hadoop、Spark等)之间的无缝集成,具有适应大数据分析场景的能力。Greenplum 6.0版本引入了更多的开源组件,包括Kubernetes和Apache MADlib等,还增强了对云计算环境的支持。

所以SQL支持是它的优势,查询稳定性强,整体比较均衡,在6.0版本之后整体成为OTAP数据仓库(Hybrid Transactional/Analytical Processing),对接大数据场景更加方便。

代码语言:javascript复制
--使用案例
--创建表格
CREATE TABLE sales (
    id INT,
    product VARCHAR(50),
    amount NUMERIC(10,2),
    date DATE
);
--插入数据
INSERT INTO sales(id, product, amount, date)
VALUES (1, 'Product A', 1000.00, '2021-01-01'),
       (2, 'Product B', 2000.00, '2021-01-02'),
       (3, 'Product C', 3000.00, '2021-01-03');
--查询数据
SELECT * FROM sales;

支持与其它数据源建立外表,支持本地或远程文件file://、gpfdist//、gpfdists//、pxf://、s3://。

代码语言:javascript复制
=# CREATE EXTERNAL TABLE ext_expenses ( name text, 
   date date,  amount float4, category text, desc1 text ) 
   LOCATION ('pxf://dir/data/filename.txt?PROFILE=hdfs:text') 
   FORMAT 'TEXT' (DELIMITER '|');

PXF功能是在6.0版本之后添加的功能,支持从以下系统进行数据获取。

代码语言:javascript复制
Hadoop, Hive, and HBase
Azure Blob Storage and Azure Data Lake
AWS S3
MinIO
Google Cloud Storage
SQL databases including Apache Ignite, Hive, MySQL, ORACLE, Microsoft SQL Server, DB2, and PostgreSQL (via JDBC)
Network file systems

PXF支持以下数据格式获取。

代码语言:javascript复制
Avro, AvroSequenceFile
JSON
ORC
Parquet
RCFile
SequenceFile
Text (plain, delimited, embedded line feeds, fixed width)

它的缺点在于维护成本高,扩容缩容困难,备份恢复慢。其实运维问题,是MPP数据仓库常见的问题,Greenplum相对明显。

所以总结起来,Greenplum是一个老牌MPP数据仓库,整体比较均衡,适合中小规模数据的OLAP分析(MPP数据库在架构上注定会有扩展上限),在6.0版本之后,能够同时支持OLTP处理,成为OTAP数据仓库。能够通过外表接入多种数据源,支持大数据生态系统(如Hadoop、Spark等)之间的无缝集成,具有适应大数据分析场景的能力。易用性较好(使用SQL语法),社区活跃(解决问题方便)。但它整体维护成本高,尤其是节点规模上升后,运维难度会大大增加。

0 人点赞