一键大版本升级
性能增强
- 有大量连接的场景下,大幅提高了事务的吞吐量,在一些测试场景下,最高可达2倍的提升。新版本继续提升B-tree索引性能,降低频繁更新的表的B-tree索引膨胀。
- 分区表性能和功能持续增强,优化器分区裁剪能力提升,减少子分区subplan和重复的cached plans,减少内存使用,同时大幅提升只涉及少量分区的SQL性能;解绑分区新增 CONCURRENTLY 模式,消除锁表,消除解绑分区对在线业务的影响。
- 引入管道查询模式,提高较差网络环境下的数据写入吞吐,可以达到接近本地网络的数据写入吞吐性能。在高延迟网络连接或是有频繁更新操作的负载场景下,可以大幅提升系统性能。尤其适用于跨网段、跨公网或数据库网络访问延时较高,同时有较大的写入吞吐需求的时序、IoT类业务。
- TOAST 支持 lz4 压缩算法,可以提供更高的压缩比和更优的压缩性能,适用于所有业务场景,在有大字段表的场景中压缩性能提升明显,如text类型。
- 内置水平可伸缩的功能接口,外部表(FDW)持续增强,可以支持外部异步并行计算,尤其适用于分库分表的数据分析场景,多个实例或多个分片的数据需要并行分析的场景,提高多个实例并行计算的效率。支持会话级持久化foreign server 连接,提高分库分表场景的OLTP性能,而以往的版本每一个远程事务都需要重新创建一次远程库连接,无法支持OLTP高频小事务。
安全增强
- 新增 pg_read_all_data 和 pg_write_all_data 2个预定义角色,可以方便的设置只读、读写权限,提高DBA管理效率。
- 默认使用 SCRAM-SHA-256 认证方法,完全规避md5可能的密钥泄露和协议攻击问题,提高认证方式和密码认证安全性。
更丰富的数据类型和SQL
- 时序场景下的类型增强,支持multi range类型,兼容range类型已知的所有操作符和索引,适用于物联网场景下存储传感器的指标波动范围。允许在一个value里面存储多个范围区间,同时支持范围的包含、相交、左、右、相邻等逻辑查询,支持索引加速。增加date_bin函数,按时间间隔打点聚合,简化打点的算法,适用于时序场景、分析场景。
- 递归图式搜索增加广度优先、深度优先语法和循环语法,简化广度优先、深度优先的语法实现,增加循环检测的SQL写法,适用于社交、风控、图式数据、图谱等场景。
- 增加了一种新的搜索算法,tid range scan扫描方法, 按HEAP表的物理存储数据块地址进行搜索。支持自定义业务层的并行数据扫描逻辑、随机数据扫描逻辑,允许用户输入需要扫描指定数据块的范围。结合rr snapshot export支持一致性单表并行导出,全表并行无锁冲突的更新。适用于通用场景,尤其是高并发场景以及有大数据吞吐计算场景。
- 另外,适用于通用场景下的JSONB下标语法、存储过程OUT参数均有支持。
更便捷的数据库管理
- 垃圾回收增强,concurrently模式创建索引不会引起垃圾膨胀,降低OLTP业务的垃圾膨胀概率。
- 新增pg_stat_progress_copy视图,支持copy导入数据进度监控 ,导入进度和速度可观测。
- 新增 replication slot 统计信息视图 ,数据库WAL日志相关的统计信息以及每个slot的统计信息可观测。
- pg_locks视图新增指标 waitstart,可跟踪锁等待开始时间,掌握更多锁等待细节,例如等待时长。
- 新增 pg_stat_database 多个统计指标,数据库级别的活跃时间、空闲时间、会话量等统计信息可观测,进而判断数据库是否达到瓶颈。
- 增加SQL硬解析和软解析次数统计,便于分析SQL解析层消耗和优化。
- 支持wal日志buffer write, fsync IO等待时长统计 , 方便了解IO资源使用情况和WAL瓶颈分析。
流复制与备份
Ganos时空信息引擎系列插件
SGX全加密数据库
逻辑复制槽故障高可用(Logical Replication Slot Failover)
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/233302.html