阿里云 AnalyticDB for PostgreSQL 为采用 MPP 架构的分布式集群数据库,完备支持 SQL 2003,部分兼容 Oracle 语法,支持 PL/SQL 存储过程,触发器,支持标准数据库事务 ACID。ADB PG 通过行存储、列存储、多种分区表和索引等机制,可以支持海量数据的交付分析,也支持 ETL 批处理任务。
ADB PG 6.0 版本大幅提升并发事务处理能力,更好的满足实时数仓场景,同时通过事务锁等优化,完备支持 HTAP 业务。ADB PG 6.0 的内核从 PostgreSQL 8.2 升级到 9.4,更好的兼容 PostgreSQL 社区生态。阿里云 AnalyticDB for PostgreSQL 6.0 版本在 公测期间(2019/10/1-2019/21/31)任意用户可通过如下链接申请一个免费试用实例:https://page.aliyun.com/form/act242960298/index.htm
ADB for PG 6.0 重要特性:
PostgreSQL 内核升级
ADB for PG 6.0 版本较之前 4.3 版本,PostgreSQL 内核从 8.2 版本升级到 9.4 版本,大量 PostgreSQL 新特性包括:
- 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(OLAP+OLTP)能力提升
通过引入全局死锁检查机制(global deadlock detection),会动态的收集和分析锁的信息来检查和解除全局死锁。基于此,HEAP 表的更新修改操作可以只借助细粒度行锁完成,支持大并发的更改删除查询,提高整个系统的并发度和吞吐量。同时还对事务锁进行了优化,减少了开始事务和结束事务时的锁竞争。ADB PG 6.0 在既有高性能 OLAP 分析基础上,也可以提供高吞吐交易事务处理。典型 OLTP 场景 TPC-C 达到 10w tpmc;Sysbench 支持 select 15w tps, insert 5w tps,update 2w tps。
OLAP 新功能特性
- 支持复制表(replicated table):针对数仓中的维度表,通过建立复制表(DISTRIBUTED REPLICATED clause),可以大量减少数据传输,提升查询效率。
- 支持 zstandard 压缩算法:ZSTD 压缩算法,较之前 zlib 压缩算法,提升三倍的压缩和解压性能。
本文作者:陆封
原文链接
本文为云栖社区原创内容,未经允许不得转载。