盘点Greenplum 6.0六大新特性及展望

2023-03-27 00:00:00 数据 版本 扩容 性能 提升

Greenplum 6.0于2019年9月4日正式发布,内核版本从PostgreSQL 8.3升级到PostgreSQL 9.4,数据库的功能和性能得到了巨大的提升,HTAP能力也得到了进一步加强。

除了内核版本升级,还增加了大量新特性,包括基于WAL日志的mirror同步、分布式死锁检测、复制表、在线扩容、磁盘限额、自动Master切换、Zstandard压缩、GP-GP集群间高效查询等。

01 Postgre SQL版本升级

Greenplum基于PostgreSQL 8.3(开发时的新版本)已经有近10年的时间(PostgreSQL 8.3版本发布于2008年)。在此期间,PostgreSQL的演进速度是非常快的,尤其是在2015年之后,每年一个大版本的迭代更新,在性能和功能上都有重要的提升,各种特性层出不穷。

而这些特性却无法在Greenplum上直接体现,原因在于,Greenplum是在PostgreSQL 8.3内核的基础上修改代码实现的,而不是类似CitusDB等采取了插件的方式。

Greenplum这样设计的好处是,能够充分修改优化器、执行器、事务、存储等各个模块,达到优的效果。坏处也很明显:与PostgreSQL社区长期脱节,无法充分利用社区红利。

基于上述原因,在Greenplum中升级PostgreSQL版本是一件非常痛苦的事。随着Greenplum的开源和越来越多PostgreSQL社区资-深贡献者的参与,Greenplum终于在6.0版本中完成了PostgreSQL内核的升级。

升级PostgreSQL内核,让Greenplum实现了安全性、权限管理增强、JSONB、GIN索引、SP-GiST索引、并行Vacuum、CTE等用户比较期待的功能。

02 HTAP性能大幅提升

这里所说的性能提升主要是PostgreSQL升级带来的好处,PostgreSQL从8.3版到9.4版本积累了非常多的性能优化经验,在OLAP和OLTP方面都有成倍的提升。

特别是原来比较弱势的OLTP功能得到了大幅提升,单节点查询达到80000TPS(Transactions Per Second,数据库每秒处理事务数),插入操作达到18000TPS,更新操作约7000TPS(来自Greenplum官方测试数据)。

03 支持复制表

这是一个很实用的功能,可以用空间换时间。一个典型的应用场景就是维度表。这类数据表的特点是,数据量不大、很多查询/分析都会与此关联,导致这类表在查询时经常被分发到各个节点中去。而采用复制表功能就不需要进行数据的移动和交换了,减少了网络开销和CPU开销,显著提高了查询效率。


04 引入了在线扩容和一致性哈希

一致性哈希的引入,在一定程度上缓解了数据倾斜问题,更大的好处在于扩容更方便了。新版本的Greenplum在进行扩容时,无须停止数据库服务,扩容不影响正在执行的查询,扩容时只移动部分数据,扩容速度得到了大幅提升。

05 支持Zstandard压缩算法

Zstandard是Facebook开源的压缩算法,压缩效率高,在性能和压缩率之间取得了较好的平衡。

06 基于流复制的全新高可用机制

复制是PostgreSQL连续研发多年的功能,在高可用、备份、恢复(到时间点)等诸多场景中必不可少,提供了非常高的灵活度。

除了上述影响比较大的新特性之外,Greenplum 6.0还支持Kubernetes、磁盘配额管理、Master节点自动Fail-Over机制等新开发或者持续完善中的功能。

总结完Greenplum 6.0的新特性,我们对Greenplum 7.0充满了期待。Greenplum 7.0会将PostgreSQL升级到PostgreSQL 12,在查询优化器增强、向量执行引擎、多核性能提升等方面都会有较大的提升。

Greenplum 7.0重要的特性就是向量执行引擎,这也是用户期待的特性。向量化执行已经在ClickHouse和DorisDB中实现,展现了强大的性能优势。向量化执行可以提高CPU的利用率,提升Greenplum单个Segment实例的查询性能,对并发较低、低延迟要求高的查询场景有较明显的提升。

除此之外,多阶段聚合、支持复制多副本、支持Upsert(更新与插入的合并操作)等功能也将进一步增加Greenplum数据库的HTAP性能。

关于作者:王春波,资-深架构师和数据仓库专家,现任上海启高信息科技有限公司大数据架构师,Apache Doris和openGauss贡献者,Greenplum中文社区参与者。具有十多年的数据仓库、数据集市、数据中台项目实战经验,对大数据主流技术架构、产品选型与解决方案有深入研究,尤其擅长用优雅的SQL实现复杂的逻辑。

本文摘编自《高效使用Greenplum:入门、进阶与数据中台》,经出版方授权发布。(ISBN:9787111696490)


本文来源:https://blog.csdn.net/zw0Pi8G5C1x/article/details/122631763

相关文章