了解更多Greenplum技术干货,欢迎访问Greenplum中文社区网站
ACM SIGMOD数据管理国际会议是由美国计算机协会(ACM) 数据管理专业委员会(SIGMOD)发起、在数据库领域具有最高学术地位的国际性学术会议。SIGMOD和另外两大数据库会议VLDB、ICDE构成了数据库领域的三个顶级会议,其论文录取率是很低的,平均录取率大约仅为15%-17%。
上次SIGMOD在中国举行还是2007年的北京,时隔14年,SIGMOD 2021将于烟花六月(6月20日)再次来到中国,走进古城西安。而本次会议中,Greenplum数据库内核团队的论文《Greenplum: A Hybrid Database for Transactional and Analytical Workloads》也成功入选SIGMOD的收录论文。
传统数据库领域包含两大业务场景:OLTP和OLAP。过去,两大业务场景需要依赖不同的数据库产品,数据在不同数据库之间融通的过程中往往容易产生数据孤岛、数据的时效性、数据的一致性等问题。由Gartner提出的HTAP数据库(混合事务/分析处理,Hybrid transactional and analytical processing)是近年来数据库领域的一个热门方向,由HTAP数据库提供的实时分析能力已经成为企业的核心竞争力之一,大概可以有几个路径:在OLTP系统里增加AP的能力从而转向HTAP,从NewSQL转向HTAP,而Greenplum的论文则展示了怎样从OLAP系统转向HTAP,对业内数据库发展和演进有极大的启发和参考意义。
在本篇论文中,Greenplum团队对如何将纯OLAP数据库转换为HATP数据库进行了广泛的讨论和研究,详细分析了如何在保证ACID(保证数据的原子性,一致性,隔离性和持久性)的同时,最小化由此造成的开销。
论文首先讨论了对于当前MPP-OLAP数据库在保证查询ACID时的两个主要开销,分别为独占锁和两阶段提交;分析了在MPP-OLAP系统中支持高性能MPP-OLTP所遇到的资源竞争问题也就是如何高并发状态下的性能。
基于一系列讨论和分析,Greenplum团队提出一种全新的全局死锁检测器来减少独占锁的使用。减少独占锁的使用可以极大的提高数据库在高并发状态下的性能。此外对于只在单个节点上操作的查询,Greenplum将两阶段提交优化为单阶段提交,这样可以大幅减少原本两阶段提交中的时间和网络开销。为了进一步提高HTAP的性能,Greenplum引入了资源组的概念,使得数据库可以很好的对OLAP查询负载和OLTP查询负载进行对应的资源隔离,极大的提高了整个系统的利用率。
论文中的所有的成果均已应用在了最新版本的Greenplum 中,基于TPC-B和CH-benCHmark数据集进行的测试也显示出最新版本的Greenplum的OLTP性能有了极大的提升,与此同时之前的OLAP查询的性能没有受到任何影响。实验结果也显示了新版的Greenplum Database作为一个HTAP数据库,具备同时支持企业级的OLAP和OLTP负载的能力。
作为一款主打OLAP和数据分析的数据库,过去十几年,Greenplum团队一直以分析型查询作为主要优化对象。近年来,随着PostgreSQL内核的升级(Greenplum 6版本搭载的是PostgreSQL 9.4版本,master分支上目前是PostgreSQL 12,预计明年年初GA的7版本也将基于PostgreSQL 12版本)和客户对OLTP型查询需求的提升,Greenplum团队对OLTP型查询进行优化。
2019年发布的6版本让Greenplum的混合事务和分析处理HTAP能力得到了进一步提升,预计于2022年年初发布的Greenplum 7版本在AP和TP上将具有比论文描述更优异的性能。6版本Greenplum支持OLTP的目标是达到单节点TP数据库同一能力量级,譬如PostgreSQL,Oracle等。从目前测试来看,基本达到这一目标,具体可以参考相关测试文章:
- Greenplum 6 OLTP (TPC-B) 性能提升60倍:
https://cn.greenplum.org/gree... - 【用户实测HTAP性能】Greenplum OLAP完胜TiDB和CockroachDB,OLTP性能优异
未来还有很长的路要走,Greenplum正在不断前进。
更多相关论文细节将在后续文章中揭秘。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。