天天看點

【DB吐槽大會】第23期 - PG 不支援線上split, merge分區

背景

1、産品的問題點

  • PG 不支援線上split, merge分區

2、問題點背後涉及的技術原理

  • 當單表的資料量較大時可能導緻一些問題: vacuum垃圾回收時間變長, 甚至可能急劇膨脹. 建立索引速度變慢. 邏輯備份時間變長. 資料檔案超過單個檔案系統大小. vacuum freeze耗時過長甚至發生事務回卷警告導緻資料庫無法啟動.
  • PG 支援分區表, 通過分區把資料打散來規避以上問題.
  • 非分區表如何轉換為分區表?
  • 已有分區表分區不合理, 如何合并或分裂分區?

3、這個問題将影響哪些行業以及業務場景

  • 資料量較大的行業, 例如時序、2C且注冊與活躍使用者較大的業務.

4、會導緻什麼問題?

  • 不支援線上轉換的話, 需要停業務轉換, 影響線上業務.

5、業務上應該如何避免這個坑

6、業務上避免這個坑犧牲了什麼, 會引入什麼新的問題

  • 管理成本增加

7、資料庫未來産品疊代如何修複這個坑

  • 核心層支援線上split, merge分區文法.

https://github.com/digoal/blog/blob/master/202109/20210902_11.md#postgresql-%E8%AE%B8%E6%84%BF%E9%93%BE%E6%8E%A5 https://github.com/digoal/blog/issues/76