polardb是不是不存在热点页,因为pg支持最大的页面大小为32K,当页面写满后就不热了。不知这个看法对不对?我是学习咱们的手册,看到了针对热点页有处理
PolarDB作为一款云原生数据库,确实存在热点页的概念,并且有机制来处理这一问题。
首先,需要澄清的是,热点页(hot page)通常指的是被频繁访问的数据库页面。在很多数据库系统中,包括PolarDB在内,当一个页面频繁被读写时,它可能会成为热点页。对于PostgreSQL的描述中提到的32KB页面大小限制,实际上是指其操作系统层面的页大小,而与热点页的概念不直接相关。
接下来,探讨一下PolarDB如何处理热点页的问题:
综上所述,PolarDB不仅存在热点页的概念,而且通过一系列优化措施来管理和缓解热点页带来的性能影响。这些措施包括缓冲池管理、数据分区以及可能的Copy Page等技术手段。因此,认为“PolarDB不存在热点页”是不准确的。
我们针对写热点有些特殊处理;正常刷脏的前提条件是这个页面的wal日志,ro都回放过了,避免ro从存储读到一个自己还没回放的页面(未来页)。但是,一个页面可能是写热点,RO因为某些原因回放不及时,导致这个写热点页面无法刷脏。那这时的处理分为两阶段,第一阶段是将这个热点页面copy一份到copy buffer,热点页面继续修改,回放超过copy buffer记录的位点后刷copy buffer;第二阶段是copy buffer也可能满,那这个时候会将热点页写一份到共享存储特定位置,热点页面可以继续修改。RO从存储读到未来页时,重新从RW特定位置读取之前的页面。这里热点指的都是写,页面写满了当然也就不会再成为写热点。 ,此回答整理自钉群“PG|POLARDB技术进阶”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云关系型数据库主要有以下几种:RDS MySQL版、RDS PostgreSQL 版、RDS SQL Server 版、PolarDB MySQL版、PolarDB PostgreSQL 版、PolarDB分布式版 。