暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

持久缓存池(Warm Buffer Pool)

芬芳 2023-08-21
216

技术原理

PolarDB MySQL版的持久缓存池功能利用了Linux的共享内存(Shared Memory)技术,将物理机内部的InnoDB缓存池从PolarDB的进程中独立起来,以实现主节点快速重启的能力。
持久缓存池的技术架构如下:
image.png

  • 缓存池的控制信息、Page的控制信息,以及缓存池中存放数据的Page,其内存均从共享内存(Shared Memory)中分配,并独立于PolarDB进程存在。
  • 当存在独立的缓存池的时候,PolarDB能够挂载到已经存在的缓存池中。
  • PolarDB能够修复节点异常崩溃后不一致的缓存池,使其达到一致状态。
  • 当主节点主动重启时,PolarDB能够保存主要事务信息,以跳过关机时的回滚和重启时的恢复过程,从而实现主节点快速重启。
  • mysqlshm是PolarDB MySQL版提供的独立工具,可以直接访问已经存在的缓存池,实现配置查询、释放缓存池等运维功能。

功能优势

持久缓存池功能具有加快主节点重启速度以及保持重启后性能无衰减两大优势。

  • 加快主节点重启速度:在开启持久缓存池功能的情况下,大大加快主节点主动重启和异常崩溃恢复速度。特别是大规格的缓存池在大量写入和大事务的情况下,开启持久缓存池后,主节点的重启或恢复可以秒级完成,相比未开启时分钟级的速度,实现了1~2个数量级的提升。
  • 主节点重启后性能无衰减:在开启持久缓存池的情况下,当节点主动重启或者异常崩溃恢复以后,热数据仍然在缓存池中,性能不出现衰减,无需缓存池预热的过程。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论