PostgreSQL 3-13 逻辑复制原理与性能优化
目录 目录 1 基本概念 1.1 业务场景 1.2 逻辑复制 1.3 实现思路 1.4 基本概念 2 使用方法 2.1 发布端:配置参数 2.2 发布端:创建发布 2.3 订阅端:创建订阅 3 核心设计 3.1 整体架构 3.2 工作流程 3.3 数据格式 4 实现源码 4.1 订阅端:apply-launch 4.2 订阅端:apply-worker 4.3 发布端:postmaster 4.4 发布端:wal-sender 5 性能优化 5.1 现状 5.2 优化方案 优化点一:发布端-流复制协议(逻辑数据) 优化点二:订阅段-并行回放机制(逻辑数据) 优化点三:发布端-并行解码机制 5.3 未来方案 一、计划优化点一:发布端-事务提交等待 5.4 方案分析 一、事务正确性 6 性能测试 参考资料 1 基本概念 1.1 业务场景 场景一:数据共享(异构数据库) 1个公司,有2个部门:商品库存部门、商品成本部门。2个部门有不同技术栈,使用不同数据库产品:postgresql、mysql。2个部门需共享相同的表:商品信息表。 场景二:数据容灾 应用存储数据时,同时将数据存储至postgresql于mysql中,避免某款数据库出现无法恢复的数据损坏问题。 场景三:版本升级 从postgresql 13版本,升级到postgresql 16版本。 场景四:数据迁移(异构数据库) 从postgresql,将数据库迁移到mysql中。 ...