《2024PG大会-深度解密阿里云RDS PostgreSQL内核技术革新-赵锐(最新).pdf》由会员分享,可在线阅读,更多相关《2024PG大会-深度解密阿里云RDS PostgreSQL内核技术革新-赵锐(最新).pdf(29页珍藏版)》请在三个皮匠报告上搜索。
1、PostgreSQL中文社区第13届PostgreSQL中国技术大会聚焦云端创新汇聚智慧共享赵锐云端跃升深度解密阿里云RDS PostgreSQL内核技术革新PostgreSQL中文社区技术革新未来规划03往期功能0102PostgreSQL中文社区目录contents01往期功能PostgreSQL中文社区PostgreSQL中文社区01 往期功能02技术革新PostgreSQL中文社区02技术革新-分布式PostgreSQL中文社区PostgreSQL中文社区02 技术革新-分布式需求和背景PG拥有越来越高的流行度,很多SaaS客户将PG用于分布式场景;Saas客户通常会使用分库分表的中间
2、件来解决分布式需求,但在分布式事务(DML和DDL)、分布式查询(DQL)上支持较弱、维护复杂;分布式集群很容易出现数据倾斜问题,从而产生分片分裂、分片迁移、schema change、data rebalance等难题;PostgreSQL中文社区02 技术革新-分布式架构设计每个节点都是PG单CN、多DNCN:Coordinator节点,集群元数据、分布式计划特点:轻计算daemon process:2PC事务检测、恢复和清理DN:Datanode节点,存储实际的分片数据特点:实际的计算和存储节点,可水平拓展PostgreSQL中文社区02 技术革新-分布式分布式查询sharding-sc
3、hema的SQL:1.select*from schema1.user;2.set search_path to schema1;select*from user;查询步骤:1.解析出SQL的search_path;2.从元数据表查到search_path到DN的路由;3.将SQL推送到指定的DN;4.接收DN的返回结果并返回PostgreSQL中文社区02 技术革新-分布式分布式事务遇到第一条跨DN的SQL,标记为2PCSQL commit时发起2PC保证最终一致性PostgreSQL中文社区02 技术革新-分布式分片迁移1.离线迁移:copy tuple2.在线迁移:logical rep
4、lication3.离线文件迁移:自研copy file,相对逻辑迁移,大幅度提升效率PostgreSQL中文社区02 技术革新-分布式功能总结sharding-schema初始化schema(支持2种模式):CN-DN:在CN上创建schema,并使其成为分布式的schemaDN-CN:将DN上已有的schema加载到CN分布式事务:DML单播:insert/update/deleteDDL广播:alter table xxx add column对所有DN广播对指定DN广播分布式查询:DQL单播:select分片迁移:离线迁移在线迁移离线文件迁移02技术革新-透明页压缩PostgreSQL
5、中文社区PostgreSQL中文社区02 技术革新-透明页压缩功能简介透明页压缩,数据页读写时进行解压缩和压缩。内存中的数据为解压后的数据,磁盘中的数据为压缩数据。PostgreSQL中文社区02 技术革新-透明页压缩实现方式新增一种smgr和md:对社区代码零侵入,代码100%兼容;可通过smgr方便管理压缩文件PostgreSQL中文社区02 技术革新-透明页压缩技术创新利用sparse file的punch hole特性,减少压缩后的文件占用的磁盘空间集中管理punch hole,减少文件系统负担,提升读写文件效率PostgreSQL中文社区02 技术革新-透明页压缩优势存储成本平均可节
6、约50%。IO使用平均可节约50%。TPS在读场景会有提高,部分IO打满的读场景最高可提升100%。劣势该功能会使CPU使用量上涨,压缩的CPU上涨约260%,解压的CPU上涨约40%。在写场景TPS会有下降。使用方法-使用tablespace方便管理压缩文件CREATE TABLESPACE rds_compress LOCATION/data/postgresql/rds_compress WITH(COMPRESSION=zstd);CREATE TABLE .TABLESPACE rds_compress;CREATE INDEX .TABLES