【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的可管理手段.



相关文章
|
2月前
|
人工智能 API 开发工具
Claude Code 官方工作原理与使用指南深度解析(新版)
在AI编程工具快速迭代的当下,Claude Code凭借其强大的自主编码能力、完整的项目上下文理解与高效的工具调用体系,成为开发者提升编码效率、处理复杂项目的核心助手。作为Anthropic推出的AI编码代理,它突破了传统代码补全工具的局限,能够自主规划任务、执行代码、调试错误、管理项目,实现从需求到落地的全流程自动化。
872 0
|
5月前
|
Web App开发 安全 数据挖掘
TA446 组织利用 DarkSword 漏洞套件针对 iOS 的定向钓鱼攻击研究
2026年3月,俄APT组织TA446利用泄露的DarkSword iOS漏洞套件,通过伪造大西洋理事会邮件实施定向钓鱼攻击。该攻击依托PAC绕过、内核提权等0day链,实现无文件、低交互的Safari远程入侵,窃取iCloud凭证、钥匙串等敏感数据,并部署GHOSTBLADE与MAYBEROBOT载荷。研究表明,国家级漏洞工具公开化正加速高端移动威胁平民化,亟需构建终端加固、流量检测与行为监控相结合的纵深防御体系。(239字)
714 7
|
4月前
|
传感器 编解码 城市大脑
WebGL 开发数字孪生
本文详解2026年WebGL数字孪生开发实战:涵盖WebGL/WebGPU选型、五阶段开发流程(资产→场景→数据→渲染→优化)、实时控制与国产化适配要求,并提供模型、Shader、调试等工具链及避坑指南。(239字)
|
4月前
|
索引 Python Windows
别再手动调PPT了:用Python批量生成文本框,还能自动排版
小张苦于每周手动制作PPT周报。本文介绍如何用Python库`python-pptx`自动化生成格式统一的周报:从创建文本框、精细控制字体/颜色/对齐,到实现多级列表、模板占位符替换,助运营人员告别重复劳动,5分钟搞定周报。(239字)
408 0
|
7月前
|
JavaScript 数据可视化 视频直播
如何手动停止 videojs 直播视频流 m3u8 请求?
在可视化大屏项目中,多个VideoJS组件播放m3u8流时,即使暂停仍持续请求,导致页面卡顿。通过监听display属性,结合`dispose()`销毁实例并重建同ID的video DOM元素,有效释放资源且保留组件结构,解决性能问题,提升用户体验。
646 0
|
8月前
|
存储 弹性计算 容灾
高可用架构设计:多可用区部署策略
本文详解阿里云多可用区高可用架构设计,涵盖计算、数据、网络层冗余部署与故障转移方案,结合容灾演练与成本优化策略,以电商系统为例提供多AZ实践指南,助力企业构建稳定、高效的业务连续性体系。
607 0
|
数据采集 人工智能 Cloud Native
LoongCollector:构建智能时代的数据采集新范式
本文聚焦 LoongSuite 生态核心组件 LoongCollector,深度解析 LoongCollector 在智算服务中的技术突破,涵盖多租户观测隔离、GPU 集群性能追踪及事件驱动型数据管道设计,通过零侵入采集、智能预处理与自适应扩缩容机制,构建面向云原生 AI 场景的全栈可观测性基础设施,重新定义高并发、强异构环境下的可观测性能力边界。
|
Java Android开发 C++
🚀Android NDK开发实战!Java与C++混合编程,打造极致性能体验!📊
在Android应用开发中,追求卓越性能是不变的主题。本文介绍如何利用Android NDK(Native Development Kit)结合Java与C++进行混合编程,提升应用性能。从环境搭建到JNI接口设计,再到实战示例,全面展示NDK的优势与应用技巧,助你打造高性能应用。通过具体案例,如计算斐波那契数列,详细讲解Java与C++的协作流程,帮助开发者掌握NDK开发精髓,实现高效计算与硬件交互。
775 1
|
监控 网络协议 Linux
【Shell 命令集合 网络通讯 】Linux 显示网络 连接、路由表和网络接口信息 netstat命令 使用指南
【Shell 命令集合 网络通讯 】Linux 显示网络 连接、路由表和网络接口信息 netstat命令 使用指南
712 1
|
监控 JavaScript 开发者
在 Vue 中,子组件为何不可以修改父组件传递的 Prop,如果修改了,Vue 是如何监控到属性的修改并给出警告的
在 Vue 中,子组件不能直接修改父组件传递的 Prop,以确保数据流的单向性和可预测性。如果子组件尝试修改 Prop,Vue 会通过响应式系统检测到这一变化,并在控制台发出警告,提示开发者避免这种操作。