上新|阿里云RDS PostgreSQL支持PG 16版本,AliPG提供丰富自研能力

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: AliPG在社区版16.0的基础上,在安全、成本、可运维性等多个方面做了提升,丰富的内核/插件特性支持,满足业务场景的需求

前 言

PostgreSQL被誉为最先进的开源数据库。今年9月,官方发布PostgreSQL 16.0,在性能、逻辑复制、开发者体验、监控、权限&安全等方面进行了改进和优化。阿里云RDS PostgreSQL已支持PostgreSQL 16.0,同时,AliPG在社区版16.0的基础上,在安全、成本、可运维性等多个方面做了提升,新增了多种内核/插件特性,用以满足用户特定业务场景的需求。


详情可查阅阿里云数据库RDS PostgreSQL对社区PostgreSQL各大版本的生命周期说明


官方发布的PostgreSQL 16.0在性能、逻辑复制、开发者体验、监控、权限&安全等方面进行了改进和优化。例如,在性能方面,通过改进buffer管理机制,提升了使用COPY命令批量加载数据的效率;通过改进vacuum策略,减少了full-table freezes的频率。在逻辑复制方面,社区16.0支持订阅端能够并行应用大事务;支持使用binary format来加快初始表同步。在开发者体验方面,添加了更多的SQL/JSON语法,改进了对文本排序的支持。在监控方面,新增pg_stat_io视图提供IO统计信息;通过记录传递到参数化语句中的值增强auto_explain可读性。在权限&安全方面,提供了更细粒度的权限控制,和更灵活的安全配置等。


但是作为商业化的数据库产品,针对特定用户场景的业务需求,社区版PostgreSQL 16.0在安全、成本、可运维性等方面仍有可提升空间;阿里云数据库RDS PostgreSQL版的自研内核AliPG在社区16.0基础上,在这些方面(安全、成本、可运维性)提供了不少自研能力。


安全方面

针对数据加密(如备份恢复、查询和分析、存储)场景或有特殊安全合规要求的场景,AliPG提供表级别的透明数据加密(TDE),对数据文件进行实时加密和解密,保护用户数据隐私。透明数据加密功能通过在数据库层执行静态数据加密,阻止可能的攻击者绕过数据库直接从存储读取敏感信息的情况发生。所有加密解密操作均在内存中进行,内存中的数据是明文,磁盘中的数据是密文,这可以避免用户业务场景中因磁盘被盗而产生的数据泄露问题;同时,对用户而言,这个功能全程无感知,用户无需改变使用数据库的方式,0适配成本


成本方面

AliPG提供表空间级别的透明页压缩TPC(Transparent Page Compression)功能,用以减少用户业务中对存储空间的使用,同时提高数据库的读性能。TPC主要是对Buffer Pool中的页执行实时的I/O压缩和解压缩,数据在写入磁盘时自动压缩,数据在从磁盘读取时自动解压缩。通过压缩数据,可以有效降低磁盘I/O,减少存储,提高缓存效率,加快数据传输速度。经过线上环境测试,开启TPC功能后,存储成本平均可节约50%,IO使用平均可节约50%,在读场景TPS会有提高,部分读场景最高可提升100%


运维体验方面

针对类似SaaS等具有大量长连接的业务场景,AliPG提供缓存淘汰功能,通过LRU(Least Recently Used)的策略释放不常使用的缓存,从而降低连接的内存使用量,解决了原生PG长连接占用内存过多的问题。针对高并发、防止恶意攻击、控制资源使用等场景,AliPG提供SQL限流功能,通过限制某一类SQL的最大并发量,确保数据库不会因突发流量或资源消耗过高的SQL语句而引起严重的性能问题。


同时,AliPG还集成了众多自研和三方插件,为用户提供丰富的扩展功能详细可见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产品提供底层数据支持。

相关文章
|
13天前
|
关系型数据库 MySQL 数据库
mysql卸载、下载、安装(window版本)
mysql卸载、下载、安装(window版本)
|
24天前
|
关系型数据库 分布式数据库 数据库
成都晨云信息技术完成阿里云PolarDB数据库产品生态集成认证
近日,成都晨云信息技术有限责任公司(以下简称晨云信息)与阿里云PolarDB PostgreSQL版数据库产品展开产品集成认证。测试结果表明,晨云信息旗下晨云-站群管理系统(V1.0)与阿里云以下产品:开源云原生数据库PolarDB PostgreSQL版(V11),完全满足产品兼容认证要求,兼容性良好,系统运行稳定。
|
2月前
|
关系型数据库 分布式数据库 数据库
阿里云PolarDB登顶2024中国数据库流行榜:技术实力与开发者影响力
近日,阿里云旗下的自研云原生数据库PolarDB在2024年中国数据库流行度排行榜中夺冠,并刷新了榜单总分纪录,这一成就引起了技术圈的广泛关注。这一成就源于PolarDB在数据库技术上的突破与创新,以及对开发者和用户的实际需求的深入了解体会。那么本文就来分享一下关于数据库流行度排行榜的影响力以及对数据库选型的影响,讨论PolarDB登顶的关键因素,以及PolarDB“三层分离”新版本对开发者使用数据库的影响。
74 3
阿里云PolarDB登顶2024中国数据库流行榜:技术实力与开发者影响力
|
2月前
|
关系型数据库 分布式数据库 数据库
阿里云瑶池数据库训练营权益:PolarDB开发者大会主题资料开放下载!
阿里云瑶池数据库训练营权益:PolarDB开发者大会主题资料开放下载!
|
1月前
|
关系型数据库 MySQL 数据库
django4版本提示 django.db.utils.NotSupportedError: MySQL 8 or later is required (found 5.7.26)
在学习Django时,用户遇到`django.db.utils.NotSupportedError`,提示需要MySQL 8.0.25或更高版本,但其系统上是5.7.26。为解决这个问题,用户决定不升级MySQL,而是选择注释掉Django源码中的数据库版本检查。通过Python命令行找到Django安装路径,进入`db/backends/base/base.py`,注释掉`self.check_database_version_supported()`函数
100 0
|
23天前
|
SQL 关系型数据库 MySQL
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(8.0版本升级篇)
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(8.0版本升级篇)
94 0
|
30天前
|
负载均衡 监控 关系型数据库
PostgreSQL从小白到高手教程 - 第48讲:PG高可用实现keepalived
PostgreSQL技术大讲堂 - 第48讲:PG高可用实现keepalived
64 1
|
1月前
|
前端开发 JavaScript API
丰富的API阿里云智能媒体服务IMS
【2月更文挑战第22天】丰富的API阿里云智能媒体服务IMS
28 12
|
1月前
|
Cloud Native 关系型数据库 分布式数据库
热烈祝贺阿里云PolarDB登顶2024最新一期中国数据库流行榜
【2月更文挑战第3天】热烈祝贺阿里云PolarDB登顶2024最新一期中国数据库流行榜
|
2月前
|
关系型数据库 MySQL 数据安全/隐私保护
【极光系列】Windows安装Mysql8.0版本
【极光系列】Windows安装Mysql8.0版本

相关产品

  • 云数据库 RDS MySQL 版
  • 云原生数据库 PolarDB