【DB吐槽大会】第66期 - PG 缺乏更简单的数据热插拔能力

简介: 大家好,这里是DB吐槽大会,第66期 - PG 缺乏更简单的数据热插拔能力

背景


1、产品的问题点

  • PG 缺乏更简单的数据热插拔能力

2、问题点背后涉及的技术原理

  • 当谈到迁移数据时, 往往想到的是
  • 停业务, 逻辑的导出、导入
  • 逻辑增量迁移
  • 全量, 流复制迁移

3、这个问题将影响哪些行业以及业务场景

  • SaaS场景, 租户级的迁移、rebalance、PITR备份、PITR恢复
  • 企业内部, 业务级别的数据迁移、rebalance、PITR备份、PITR恢复
  • 使用生产环境快速构建测试环境, 而且一个实例包括多个业务时, 采用standby克隆的话不相干的数据也要被同步

关联吐槽:

4、会导致什么问题?

  • 停业务, 逻辑的导出、导入.
  • 影响业务, 停业务的时间取决于数据量大小.
  • 逻辑增量迁移
  • 有前置依赖, 而且有一定的场景无法满足. 后面提到
  • 全量, 流复制迁移
  • 不适合partial(表、schema、database级)的备份、迁移.

5、业务上应该如何避免这个坑

  • 为了满足这些业务场景, 当前可以使用logical replication

6、业务上避免这个坑牺牲了什么, 会引入什么新的问题

  • 前置依赖: 表必须有PK或UK
  • 不支持DDL, sequence变化
  • wal_level=logical, 如果要修改的话, 需要重启实例
  • 增加了配置复杂度
  • 逻辑的增量同步性能不如物理的拷贝文件, 并且实时性不如物理流复制(特别是在被同步的表发生了大事务时, 需要等上游大事务结束才能同步到下游.)

7、数据库未来产品迭代如何修复这个坑

  • 希望内核层面物理流复制支持partial的物理流复制、备份、恢复、迁移能力. 热插拔数据的能力. 可以对标Oracle PDB .
  • 例如: PostgreSQL,每个DB有单独的REDO,DB支持热插拔。支持DB级的物理流复制。一个集群的数据库可以物理流复制的模式拷贝、增量传输到另一个集群。 另一个集群能打开这个DB进行只读操作, 能够激活这个DB进行读写操作.
  • 支持transfer table、transfer schema特性, 能够支持物理级别的增量迁移、备份table、schema.



相关文章
|
7月前
|
Ubuntu 安全 Linux
蓝易云:Ubuntu Server上安装配置Docker的详细步骤
通过以上步骤,您将成功在Ubuntu Server上安装和配置Docker。这些步骤提供了将Docker集成到您的Ubuntu系统中的简洁而全面的方法,并为使用Docker作为开发和部署的强大工具奠定了基础。通过执行上述步骤,用户能够从安装到配置Docker,进一步扩展其服务器的功能性。随着Docker的普及和生态系统的快速发展,理解并掌握这些基础步骤对于有效管理容器化应用至关重要。
303 8
|
前端开发 JavaScript 编译器
不走弯路,纯前端如何把图片导出成视频!
【10月更文挑战第3天】不走弯路,纯前端如何把图片导出成视频!
1155 3
|
运维 Kubernetes API
ElasticSearch容器化从0到1实践(一)
通过kubernetes集群聚合多个Elasticsearch集群碎片资源,提高运维效率。
|
存储 数据可视化 编译器
learn_C_deep_1 (C程序补充知识、变量的声明和定义、声明和定义的区别)
learn_C_deep_1 (C程序补充知识、变量的声明和定义、声明和定义的区别)
236 0
|
监控 Linux 网络安全
使用 Kali Linux 实现 Smurf
使用 Kali Linux 实现 Smurf
|
算法 安全 网络协议
19.系统知识-数字证书
19.系统知识-数字证书
【合并单元格】纵向合并单元格之前对数组处理【针对饿了么element的table的span-method合并行或列的计算方法】
【合并单元格】纵向合并单元格之前对数组处理【针对饿了么element的table的span-method合并行或列的计算方法】
|
存储 Linux
linux waitpid函数详解
linux waitpid函数详解
1230 0
|
编译器 程序员 C语言
【C语言】“hello world!”程序入门详解
【C语言】“hello world!”程序入门详解
623 0
|
存储
通俗解释:Session生成、存储与管理
通俗解释:Session生成、存储与管理
332 0