【DB吐槽大会】第23期 - PG 不支持在线split, merge分区

背景


1、产品的问题点

  • PG 不支持在线split, merge分区

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

  • 当单表的数据量较大时可能导致一些问题: vacuum垃圾回收时间变长, 甚至可能急剧膨胀. 创建索引速度变慢. 逻辑备份时间变长. 数据文件超过单个文件系统大小. vacuum freeze耗时过长甚至发生事务回卷警告导致数据库无法启动.
  • PG 支持分区表, 通过分区把数据打散来规避以上问题.
  • 非分区表如何转换为分区表?
  • 已有分区表分区不合理, 如何合并或分裂分区?

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

  • 数据量较大的行业, 例如时序、2C且注册与活跃用户较大的业务.

4、会导致什么问题?

  • 不支持在线转换的话, 需要停业务转换, 影响在线业务.

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

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

  • 管理成本增加

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

  • 内核层支持在线split, merge分区语法.



上一篇:【DB吐槽大会】第24期 - PG 不支持Partial PITR


下一篇:【DB吐槽大会】第25期 - PG 不支持物理Partial Standby