高效使用Greenplum:入门、进阶与数据中台
上QQ阅读APP看书,第一时间看更新

2.5 Greenplum的优势

前文介绍了大数据平台的发展趋势和Greenplum的架构和特点,但是这些不足以说明我们为什么要用Greenplum数据库作为数据中台的基础平台。本节将重点介绍Greenplum的优势。

首先,与传统数据库相比,Greenplum作为分布式数据库,本身具有高性能优势。对各行各业来说,OLTP系统最重要的是在保证ACID事务管理属性的前提下满足业务的并发需求,对于大多数非核心应用场景,MySQL、SQL Server、DB2、Oracle都可以满足系统要求,并且随着MySQL性能的优化和云原生数据库的发展,基于MySQL或者PostgreSQL商业化的数据库会越来越普及。数据中台的定位是一个OLAP系统,上述数据库就很难满足海量数据并发查询的要求了。上述数据库的横向扩展能力有限,并且软硬件成本高昂,不适合作为OLAP系统的数据库。Greenplum作为一款基于MPP架构的数据库,具有开源、易于扩展、高查询性能的特点,性价比碾压DB2、Oracle、Teradata等传统数据库。

其次,Greenplum作为分布式数据库,和同为分布式数据库的Hive相比,优势也非常明显。早期Hadoop的无模式数据已经让开发者饱受痛苦,后面兴起的Hive、Presto、Spark SQL虽然支持简单的SQL,但是查询性能仍然是分钟级别的,很难满足OLAP的实时分析需求。后期虽有Impala+Kudu,但是查询性能仍然弱于同为MPP架构的Greenplum。除此之外,Hadoop生态圈非常复杂,安装和维护的工作量都很大,没有专业的运维团队很难支撑系统运行。而Greenplum支持的SQL标准最全面,查询性能在毫秒级,不仅能很好地支持数据ETL处理和OLAP查询,还支持增删改等操作,是一款综合实力非常强的数据库。相对于Hadoop多个组件组成的庞大系统,Greenplum数据库在易用性、可靠性、稳定性、开发效率等方面都有非常明显的优势。

最后,Greenplum作为MPP数据库中的一员,相对于其他MPP架构数据库,也具有非常明显的优势。Greenplum研发历史长、应用范围广、开源稳定、生态系统完善。生态系统完善是指Greenplum的工具箱非常多:GPload可满足高速加载需求,PXF可满足外置表和文件存储需求,MADlib可满足数据挖掘需求,GPCC可满足系统监控运维需求。相对于TiDB、TBase、GaussDB等新兴数据库来说,Greenplum的应用案例最多,生态系统最完善,并且Bug更少。同时,TiDB、TBase、GaussDB等数据库都定位于优先满足OLTP的同时提高OLAP的性能,而Greenplum是以OLAP优先的。虽然前者也有优势,但是将OLAP和OLTP合并实现起来存在以下困难:数据分布在不同的系统已经是行业现实,没有办法将数据集中到同一个数据库;数据中台天然就是一个OLAP系统,没有办法按照OLTP模式设计。综上,作为分布式关系型数据库,Greenplum是搭建数据中台的首选数据库。

图2-5是阿里巴巴大数据平台进化历程。2010年前后,阿里巴巴曾经使用Greenplum来替换Oracle集群,将其作为数据分析平台。从数量上说,Greenplum在2010年实现了Oracle 10倍数据量的管理,即1000TB。但Oracle的架构这些年没有太大变化,而Greenplum数据库已有翻天覆地的革新。在阿里巴巴应用的时代,Greenplum还是EMC旗下的商用数据库,平台尚在发育期,功能也不太完善。而如今的Greenplum已经是社区开源的产品,内核PostgreSQL也已完成了多个版本的升级迭代,现在更是轻轻松松支持上千台服务器的集群,因此承载PB级的数据自不在话下。

000

图2-5 阿里巴巴大数据平台演进过程

对于大多数有构建数据中台需求的企业,1000TB已经是一个无法企及的高度。大多数据企业的数据都在数TB到100TB的范围内,这个规模的数据正是Greenplum的主要战场。100TB以下规模的数据仓库或者数据中台,Hive发挥不了架构上的优势,反而影响开发速度和运维工作,实在是得不偿失。

在查询性能方面,Greenplum自然不是第一,虽然业界尚无定论,但是据笔者了解,目前ClickHouse是当之无愧的OLAP冠军。相对于ClickHouse,Greenplum胜在高性能的GPload插件、强大的ETL功能、不算太弱的增删改性能。目前,数据中台在稳步向实时流处理迈进,由于不擅长单条更新和删除,因此ClickHouse只适合执行离线数据查询任务,可以作为超大规模数据中台的OLAP查询引擎。

综上所述,虽然Greenplum某些方面不是最优秀的,但仍是最适合搭建数据中台的分布式数据平台,并且以Greenplum现有的性能和管理的数据规模,可以满足绝大多数中小企业的数据中台需求。