阿里云RDS PostgreSQL版支持 PG17,还不来体验?

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介: PostgreSQL被誉为最先进的开源数据库,具有强大的扩展性和灵活架构。9月26日,社区官方正式发布了PostgreSQL 17.0版本,在性能、逻辑复制、开发者体验等方面进行了优化。阿里云RDS PostgreSQL 版已支持 PostgreSQL 17.0,并在社区17.0基础上,进行了安全、成本、可运维性等多方面提升,增加多种内核特性及插件特性。


PostgreSQL 被誉为最先进的开源数据库,具有强大的扩展性和灵活的架构。它的各种扩展、工具以及对高级数据类型的支持,使其成为了各类数据使用和应用开发中的热门选择。今年9月26日,社区官方正式发布 PostgreSQL 17.0 版本,在性能、逻辑复制、开发者体验、监控、权限&安全等方面进行了改进和优化。阿里云RDS PostgreSQL 版已支持 PostgreSQL 17.0,并在社区17.0基础上,进行了安全、成本、可运维性等多方面提升,增加多种内核特性及插件特性。详情可查阅阿里云数据库RDS PostgreSQL各大版本功能概览

社区 PG 17.0 有哪些亮点?

  1. 性能
  • vacuum
  • 使用了新的数据结构 tid store (内部实现为 radix tree) 记录死元组,提升了 vacuum 效率并降低内存消耗。
  • 解除 vacuum 1G 内存使用上限:当清理包含索引的表时,vacuum 会将死元组记录在内存中,当内存受限时,会触发对索引文件的扫描。所以,增加 vacuum 的内存使用上限,可以减少对索引文件的扫描次数,以加快 vacuum 的速度并节约 IO 资源。
  • WAL
  • 优化了 WAL 锁的管理方式,提升高并发修改的性能。
  • 优化器
  • 可同时使用统计信息和 WITH 查询进一步优化。
  • 当 IN 从句中可以使用 B 树索引时,可以大幅度加速查询
  • 对于含有 NOT NULL 约束的字段,可以自动剔除冗余的 IS NOT NULL 语句。


  1. 逻辑复制
  • 支持逻辑复制槽的故障转移功能。
  • 从 PostgreSQL 17 升级到更高的大版本时,可以保留逻辑复制槽。
  • 新增二进制工具 pg_createsubscriber, 可以将两个物理复制的实例转化为逻辑复制。
  • 提升在大量子事务场景下逻辑解码的性能


  1. 监控
  • 新增视图 pg_stat_checkpointer,提供 checkpoint 的统计信息,可以更好地监控 checkpoint 的频率以及资源消耗
  • 新增视图 pg_wait_events,提供了等待事件的原因。
  • EXPLAIN 可以打印优化器的内存消耗


  1. 权限&安全z
  • 新增表级权限 MAINTAIN ,和保留用户 pg_maintain, 用于控制表的 VACUUM, REINDEX 等权限
  • 增加新的参数 sslnegotiation,可以直接执行 TLS 握手,消除了网络往返


  1. 开发者体验
  • 更完善的 json 支持
  • 新增函数JSON_TABLE(),可以在 SQL 语句中,将 json 数据转化成一个表
  • 新增 JSON 构建函数  JSON(), JSON_SCALAR() 以及 JSON_SERIALIZE()
  • 新增 JSON 查询函数 JSON_EXISTS(), JSON_QUERY(), and JSON_VALUE()
  • 提供函数pg_column_toast_chunk_id() 获取  TOAST  的 chunk id


为什么要使用阿里云 RDS PostgreSQL 17

阿里云RDS PostgreSQL 版 完全兼容开源PostgreSQL,基于云原生架构,软硬协同优化,提供稳定可靠、高性价比的数据库服务;并通过丰富的插件拓展,支撑各领域场景化业务。

RDS PostgreSQL现已全面支持社区PostgreSQL 17.0:其自研功能继续支持 PostgreSQL 17,多种自研内核特性对社区版17.0进行补强,满足用户特定业务场景的需求。


  1. 安全方面,RDS PostgreSQL提供:

表级别的透明数据加密(TDE)功能:所有加密解密操作均在内存中进行,内存中的数据是明文,磁盘中的数据是密文,避免因磁盘被盗而产生的数据泄露问题,同时数据库的使用方式保持不变,没有适配成本。

更细粒度的加密可以在保证安全的同时尽量降低因加密解密带来的性能损耗,同时也支持开启默认加密选项。在对数据进行加密,或有特殊安全合规要求的场景中,TDE能力尤为重要。


  1. 成本方面,RDS PostgreSQL 提供:
  • 表空间级别的透明页压缩 TPC(Transparent Page Compression):页压缩指对Buffer Pool中的页执行实时的I/O压缩和解压缩,透明是指使用过程中无感知,数据在写入磁盘时自动压缩,数据在从磁盘读取时自动解压缩。

     通过透明页压缩,用户可减少存储空间的使用,降低磁盘I/O,以此提高数据库读性能,提高缓存效率,加快数据传输速度。在实例数据量大,业务场景以读为主的场景,透明页压缩功能的优势      尤为明显。存储成本可平均可节约50%,IO使用平均可节约50%,读场景下的TPS最高可提升100%。

  • 通用云盘数据归档(新功能):RDS PostgreSQL 实例利用表空间和外部文件系统来实现对OSS的访问,允许用户通过DDL完成数据在ESSD和OSS之间的转换。开启用RDS PostgreSQL数据归档功能后,利用OSS的海量、安全、低成本和高可靠特性,用户可在RDS PostgreSQL上实现极低成本、无限容量的归档数据存储,并支持低频数据访问。相较于ESSD PL1云盘,数据存储成本下降了80%。通用云盘数据归档能力适用于实例中有大量不常访问数据的场景。详见 通用云盘数据归档


  1. 运维体验,RDS PostgreSQL 提供:
  • 缓存淘汰功能:从根本上解决了多表场景下原生PostgreSQL长连接占用内存过多的问题。PostgreSQL中,后端进程每访问到一个表,会将该表的元信息缓存到本地,并且这些缓存不会被主动释放,以减少后续对磁盘的访问。这导致长连接可能会积累大量的缓存,并导致内存溢出(OOM)。该功能多用于具有大量长连接的SAAS场景。详见缓存淘汰  
  • SQL限流功能:通过限制并发SQL数,从而避免过高的数据库负载,保证数据库的稳定性和可靠性。多用于高并发访问,防止恶意攻击,控制资源使用等场景。详见SQL 限流功能


  1. AP 能力增强,RDS PostgreSQL 提供:

高性能OLAP引擎 rds_duckdb(新功能):新增rds_duckdb插件,引入了DuckDB提升RDS PostgreSQL的分析能力,允许用户将PostgreSQL本地表导出列存表副本,在开启AP加速开关后,对查询进行加速。启用插件后,您可以在RDS PostgreSQL上实现高效的分析查询,性能提升可高达几十倍。


除此之外,RDS PostgreSQL 还支持多种自研、第三方插件,为用户提供丰富的扩展功能,详见 支持插件列表。例如

  1. Ganos时空引擎(自研):PostgreSQL Ganos时空引擎提供一系列的数据类型、函数和存储过程,从而,用户可以在阿里云RDS PostgreSQL中对空间/时空数据进行高效的存储、索引、查询和分析计算。
  2. 全密态数据库(自研):用户可以对数据库表中的敏感数据列进行加密,这些列中的敏感数据将以密文进行传输、计算和存储。全密态数据库可以解决用户不同应用场景下的数据安全问题,如平台安全运维、敏感数据合规、多源数据融合等场景。
  3. index_adviser索引推荐(自研):索引推荐(index_adviser)可以帮助用户确定应该对哪些列编制索引,以提高指定工作负载中的性能。
  4. oss_fdw读写外部数据文本文件(自研):支持将OSS中的数据加载到RDS PostgreSQL数据库中,也支持将RDS PostgreSQL数据库中的数据写入OSS中。
  5. pgbouncer 轻量级连接池(三方开源):用于优化数据库连接的性能和资源利用率。当应用程序需要与PostgreSQL数据库建立连接时,它可以通过连接池复用现有的数据库连接,避免了频繁地创建和销毁连接产生的性能开销。这种连接复用可以显著减少数据库服务器的负载,提高应用程序的响应速度和并发性能。适用于短连接较多,频繁创建和销毁连接的场景。
  6. pg_jieba 中文分词插件(三方开源基础上加入自研功能):用于中文的全文搜索,支持自定义词库。
  7. pgvector 向量插件(三方开源):pgvector插件,能够存储向量类型数据,并实现向量相似度匹配,为AI产品提供底层数据支持。


如何升级到 RDS PostgreSQL 17

RDS PostgreSQL 提供了完善的大版本升级功能(详见 升级数据库大版本),包括蓝绿部署和本地升级两种模式。

  • 蓝绿部署模式下,用户既可以使用不割接的方式,在不影响原实例的情况下,验证整个升级流程,又可以割接的方式,在大版本升级期间无需停机,并能在升级完成后,自动交换原实例与新实例的连接地址,做到业务侧无感。
  • 本地升级方式下,用户可保证实例的参数配置和付费模式不变。
相关文章
|
5月前
|
安全 关系型数据库 数据库
上新|阿里云RDS PostgreSQL支持PG 16版本,AliPG提供丰富自研能力
AliPG在社区版16.0的基础上,在安全、成本、可运维性等多个方面做了提升,丰富的内核/插件特性支持,满足业务场景的需求
|
弹性计算 安全 关系型数据库
阿里云数据库RDS MySQL Serverless测评
就像云服务器和本地服务器的区别一样,云数据库就是云计算版本的数据库。 阿里云数据库有多种,今天尝试的是RDS MySQL Serverless,可以按需付费、动态匹配资源,这样的话如果是短期内使用的话比较划算。 例如某时间段搞活动导致数据库访问量暴涨,就可以临时购买该产品,动态提升性能,还是比较方便的
1459 1
|
关系型数据库 分布式数据库 PolarDB
《阿里云产品手册2022-2023 版》——PolarDB for PostgreSQL
《阿里云产品手册2022-2023 版》——PolarDB for PostgreSQL
346 0
|
关系型数据库 分布式数据库 开发工具
|
存储 关系型数据库 Linux
PolarDB for PostgreSQL 开源必读手册-PolarDB安装与配置(下)
PolarDB for PostgreSQL 开源必读手册-PolarDB安装与配置
635 0
|
SQL 存储 关系型数据库
「一份成本、两种引擎」-- Babelfish for RDS PostgreSQL发布
2022年5月16号,阿里云RDS重磅发布Babelfish for RDS PostgreSQL,兼容SQL Server生态版本,本篇文章从以下角度探讨Babelfish的方方面面: - Babelfish是什么 - 为什么使用PostgreSQL来实现 - Babelfish的架构 - 受众与场景 - 最佳实践 - Babelfish的未来发展 # Babelfish是什么 基于Bab
|
存储 弹性计算 Cloud Native
直播预告 | 在 CurveBS 上部署跨机 PolarDB for PostgreSQL 集群
Curve 是网易开源的高性能、高可用、高可靠分布式存储系统,具备良好的扩展性,可应用于主流的云原生基础设施平台。本期开源学堂将演示如何使用 CurveBS 存储集群作为共享块存储底座,在多台 ECS 上部署 PolarDB-PG 共享存储数据库集群。同时简析部署流程背后的技术原理。
直播预告 | 在 CurveBS 上部署跨机 PolarDB for PostgreSQL 集群
|
SQL 网络协议 关系型数据库
|
SQL 存储 数据可视化
【走进RDS】之RDS PostgreSQL索引推荐原理及最佳实践
很多开发人员都知道索引对于数据库的查询性能至关重要,一个好的索引能使数据库的性能提升成千上万倍。但给数据库加索引是一项相对专业的工作,需要对数据库的运行原理有一定了解。同时,加了索引有没有性能提升、性能提升了多少,这些都是加索引前就想知道的。这项繁杂的工作有没有更好的方案呢?有!就是今天重磅推出的索引推荐。
748 0
【走进RDS】之RDS PostgreSQL索引推荐原理及最佳实践
下一篇
无影云桌面