【DB吐槽大会】第21期 - PG 没有持久化Shared Buffer

简介: 大家好,这里是DB吐槽大会,第21期 - PG 没有持久化Shared Buffer

背景


1、产品的问题点

  • PG 没有持久化Shared Buffer

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

  • PG Shared Buffer采用1个大池子(除了ring buffer以外), 数据访问和修改需要先将数据写入shared buffer, 当内存不够时使用LRU算法淘汰shared buffer中的page.

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

  • OLTP类业务

4、会导致什么问题?

  • 一些突发的大的查询可能将热数据挤出shared buffer, 从而影响热数据相关SQL的响应速度, 导致性能抖动, 体验下降.

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

  • 暂时没有好的解决方案, 只能在发布前做好严格的测试再发布, 避免突发大查询

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

  • 成本较高, 无法完全避免
  • 人为的大查询无法避免, 通过管理手段可以减少风险, 但是无法避免.

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

  • 增加几类独立的shared buffer池, 可以将明知的热的表永久保留在池子内, 避免干扰. 增加DBA的可管理手段.



相关文章
|
9月前
|
SQL 缓存 关系型数据库
MySQL(三)SQL优化、Buffer pool、Change buffer
MySQL(三)SQL优化、Buffer pool、Change buffer
185 0
|
存储 缓存 关系型数据库
【MySQL】innodb_buffer_pool_size=64M,是干什么的?底层原理是什么?
【MySQL】innodb_buffer_pool_size=64M,是干什么的?底层原理是什么?
200 0
|
存储 缓存 监控
【MySQL】innodb_log_buffer_size=4M,是干什么的?底层原理是什么?
【MySQL】innodb_log_buffer_size=4M,是干什么的?底层原理是什么?
188 0
|
SQL 存储 缓存
全网最清楚的:MySQL的insert buffer和change buffer 串讲
全网最清楚的:MySQL的insert buffer和change buffer 串讲
632 0
|
SQL 缓存 关系型数据库
MySQL Buffer pool里的change buffer是啥?
change buffer是一种特殊的数据结构,当这些页面不在缓冲池中时,这些高速缓存会将更改缓存到辅助索引页面。可能由INSERT,UPDATE或DELETE操作(DML)导致的缓冲更改将在以后通过其他的读取操作将页加载到缓冲池中时合并。
309 0
MySQL Buffer pool里的change buffer是啥?
|
存储 传感器 监控
【DB吐槽大会】第1期——PG MVCC
大家好,这是DB吐槽大会,第1期 - PG MVCC
12433 0
|
SQL 关系型数据库 数据库
【DB吐槽大会】第78期 - PG 不支持绕过shared buffer的查询和写入
大家好,这里是DB吐槽大会,第78期 - PG 不支持绕过shared buffer的查询和写入
|
存储 缓存 关系型数据库
【DB吐槽大会】第6期 - PG Double Cache
大家好,这里是DB吐槽大会,第6期 - PG Double Cache
|
关系型数据库 物联网 数据库
【DB吐槽大会】第28期 - PG 每次只扩展1个block
大家好,这里是DB吐槽大会,第28期 - PG 每次只扩展1个block