【DB吐槽大会】第47期 - PG 崩溃恢复能快点吗

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 大家好,这里是DB吐槽大会,第47期 - PG 崩溃恢复能快点吗

背景


1、产品的问题点

  • PG 崩溃恢复能快点吗

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

  • 数据库进程被KILL -9、OOM、数据库强制非正常停库、或者操作系统、存储或其他故障导致数据库非正常停库时, 数据库再次启动需要进行恢复.
  • 恢复需要用到从上一个完成的检查点的逻辑开始位点处的WAL日志 - 到最新的WAL日志文件之间的所有WAL文件.
  • 需要多少个wal文件取决于检查点的长短, 通常内存很大的机器, 会设置较大的shared buffer, 同时设置较长的checkpoint周期来优化数据库写性能.
  • 恢复过程中被恢复的数据块包含full page时, 只需要从wal拿对应full page+wal增量record进行恢复, 但是恢复过程中数据块可能从shared buffer挤出, 那么就需要从datafile读取对应块然后+wal record恢复.
  • 这可能是非常耗费IO的操作

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

  • 所有行业, 特别是规格大的实例

4、会导致什么问题?

  • IO如果较差的话, 崩溃恢复速度慢.
  • 特别是在业务高峰期, 如果出现OOM的话, 崩溃恢复时间长对业务造成的影响巨大

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

  • 使用standby, 如主库崩溃, 激活从库.
  • 不管是数据文件还是wal文件都使用性能好(IOPS 以及 吞吐、RT)的SSD
  • 缩短checkpoint周期, 让一个周期内的wal文件尽量的少

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

  • 使用HA架构会增加风险和复杂度, 例如双节点的异步HA, 可能丢数据风险. 三节点的同步HA, 成本高, 复杂度高.
  • 使用很好的SSD, 增加了成本
  • 提高checkpoint频率, 会损耗写性能. 并且会导致full page增加, 使得产生更多的wal文件

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

  • 希望内核层面支持更友好的恢复功能
  • 并行的恢复, 提高恢复速度. 目前PolarDB支持并行wal回放
  • 例如可以支持立即开放只读功能, 恢复过程允许只读操作,自动过滤不一致数据块,或自动使用旧快照

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
SQL 缓存 NoSQL
MySQL 数据库崩溃(crash)的常见原因和解决办法---发表到 《数据和云》 公众号
Linux 系统中的 systemd 和 mysqld_safe 会在 mysqld 进程 crash 后自动重新启动 MySQL 的服务,需要注意的是使用 kill -9 杀死 mysqld 进程系统会自动重新启动,而只使用 kill 命令则不会重新启动
835 0
|
容灾 关系型数据库 数据库
【DB吐槽大会】第37期 - PG 没有block级增量备份恢复
大家好,这里是DB吐槽大会,第37期 - PG 没有block级增量备份恢复
|
存储 JSON 搜索推荐
【DB吐槽大会】第35期 - “富人”的烦恼?PG 不会自动选择索引类型
大家好,这里是DB吐槽大会,第35期 - “富人”的烦恼?PG 不会自动选择索引类型
|
关系型数据库 Java 分布式数据库
【DB吐槽大会】第9期 - PG 大量连接写小事务性能差
大家好,这里是DB吐槽大会,第9期 - PG 大量连接写小事务性能差
|
关系型数据库 分布式数据库 数据库
【DB吐槽大会】第44期 - PG 同步复制不支持自动升降级
大家好,这里是DB吐槽大会,第44期 - PG 同步复制不支持自动升降级
|
SQL 关系型数据库 中间件
【DB吐槽大会】第42期 - PG 读写分离不友好
大家好,这里是DB吐槽大会,第42期 - PG 读写分离不友好
|
存储 关系型数据库 数据库
【DB吐槽大会】第59期 - PG 缺少便捷的坏块修复能力
大家好,这里是DB吐槽大会,第59期 - PG 缺少便捷的坏块修复能力
|
存储 监控 Oracle
【DB吐槽大会】第29期 - PG 表空间容易达到文件系统天花板
大家好,这里是DB吐槽大会,第29期 - PG 表空间容易达到文件系统天花板
|
数据库管理
db如何快速回滚+恢复,DBA的神技能
技术人如果经常线上操作DB,河边走久了,难免出现纰漏,咋办?找DBA恢复数据呗,即使恢复不了,锅总得有人背呀。
723 0
下一篇
无影云桌面