【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.



相关文章
|
关系型数据库 MySQL 数据库连接
使用Django框架完成用户的增删改查操作
使用Django框架完成用户的增删改查操作
284 1
解决SpringBoot无法访问静态资源文件
解决SpringBoot无法访问静态资源文件
解决SpringBoot无法访问静态资源文件
|
消息中间件 NoSQL 中间件
常用的消息队列和中间件都有哪些
常用的消息队列和中间件都有哪些
515 76
|
存储 人工智能 安全
OSS 深度解析:Data + AI 时代的对象存储
在 Data + AI 时代,随着大数据分析和 AI/ML 工作负载的进一步融合,对象存储 OSS 作为面向 AI 时代的数据基础设施,迎来了新的挑战与创新机遇。本话题我们将会介绍对象存储的能力创新,深度解读对象存储在实现稳定、安全、高性能和低成本背后的技术进展,并展望未来 AI 驱动趋势下的技术发展方向。
1805 2
|
Java Spring
运行@Async注解的方法的线程池
自定义@Async注解线程池
497 3
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的传统文化网站附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的传统文化网站附带文章源码部署视频讲解等
185 1
|
SQL 监控 安全
代码审计-PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析
代码审计-PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析
264 6
|
SQL XML Java
蓝易云 - ibatis与mybatis的区别
总的来说,MyBatis在功能性和易用性上都优于iBatis,是iBatis的改进版。
201 2
java将字符串按照指定长度分割成字符串数组
java将字符串按照指定长度分割成字符串数组
335 0
|
JavaScript 容器
富文本的图片添加点击放大功能
思路:富文本加载后,dom出全部img元素,然后各自单独添加点击事件
550 3