分析型数据库 PostgreSQL 6.0 版是基于开源 Greenplum 6.0 内核构建的在线数据库服务。6.0版大幅提升并发事务处理能力,更好的满足实时数仓场景;通过事务锁等优化,完备支持HTAP业务。详细新特性如下:

内核升级

Greenplum 内核从 4.3 升级到 6.0 版本,PostgreSQL内核从 8.2版本升级到 9.4版本,新特性包括:

  • JSONB类型:在既有JSON类型上,支持JSONB存储格式,实现高性能的JSON数据处理及更丰富的JSON函数。
  • UUID类型:支持 UUID 数据类型
  • GIN索引和SP-GiST索引:可以更高性能支持模糊匹配,以及中文检索。
  • 细粒度权限控制:支持了 schema 级别,以及 column 列级别权限控制和授权。
  • 高效Vacuum:Vacuum在做空间释放时,可以暂时跳过被加锁的页面,而稍后再次轮询访问对其Vacuum,从而整体减少被阻塞的状况。
  • DBLink:支持跨库的查询访问。
  • Recursive CTE:实现SQL的递归查询功能,用于处理逻辑上为层次化或树状结构的数据,方便对该类数据进行多级递归查询。
  • PL/SQL 增强:支持RETURN QUERY EXECUTE语句,可以动态即刻执行SQL;支持 Anonymous blocks 匿名块定义。

混合事务和分析处理 HTAP能力提升

引入全局死锁检查机制 (global deadlock detection),动态的收集和分析锁的信息来检查和解除全局死锁。基于此,HEAP表的更新修改操作可以只借助细粒度行锁完成,支持大并发的更改删除查询,提高整个系统的并发度和吞吐量。同时还对事务锁进行了优化,减少了开始事务和结束事务时的锁竞争,在既有高性能 OLAP分析基础上,也可以提供高吞吐交易事务处理。
  • 典型 OLTP 场景 TPC-C 达到 10w TPS
  • TPC-B 支持 SELECT15w TPS
  • TPC-B 支持 INSERT 5w TPS
  • TPC-B 支持 UPDATE 2w TPS

OLAP 新功能特性

  • 支持复制表(replicated table):针对数仓中的维度表,通过建立复制表(DISTRIBUTED REPLICATED clause),可以大量减少数据传输,提升查询效率。
  • 支持zstandard压缩算法:ZSTD压缩算法,较之前 zlib 压缩算法,提升三倍的压缩和解压性能。