PG 检查点管理与Oracle的比较

之前介绍过,在任何数据库中,一条DML操作执行都需要在内存中执行,但当操作越来越多,总有时候内存会写满,这时候就需要把内存中的块写入到磁盘,释放内存,保存数据。

写入到磁盘这一步,在不同的数据库中有不同的进程来处理,oracle中有dbwr进程,在PG中有bg writer进程和ckpt(检查点进程)。

在PG中,内存中的块共有三个状态

1.pending:正在修改

2.dirty:已经修改

3.free:已经保存

CKPT触发机制:

1.检查点时间间隔由checkpint_timeout 设置(默认五分钟)。

2.WAL目录(可以看作oracle中的redo)文件的总大小超过参数max_WAL_size的值

3.用户手动发出检查点。

4.数据库正常关闭的情况下。(其实这点oracle中也会做,在oracle中执行shutdown immediate之后会自动发出检查点命令,讲内存中的脏块写入到数据文件,相当于alter system checkpoint)。

PG检查点的作用

与Oracle类似:

1.定期保存修改过的数据块,内存中的数据会丢失,如果定期的把内存中的数据写入到磁盘就可以预防断电等故障的发生。

2.作为实例恢复时其实位置,这点和Oracle也很类似,每次发生检查点都会发一个号码记录在控制文件中,控制文件中记录了检查点如下相关信息:

1.最新检查点记录的LSN位置

2.先前检查点记录的LSN位置

(Oracle中叫做SCN号,PG中叫做LSN号。)

查看PG控制文件的命令:

关于PG的控制文件之前有写过博客:

PG控制文件的管理与重建-CSDN博客

3.作为介质恢复的起始位置。

检查点的处理过程:

当触发一个检查点

1.首先会记录一个redo点,用来当作将来恢复的起始位置。

2.第二步再做一个检查点,所以可以这样理解,检查点记录了redo点的位置。

所以在将来恢复的时候,PG会先找到检查点的位置,再根据检查点的位置找到redo点的位置,然后从这个redo点,根据WAL日志 里面的内容重新做一遍。

3.把最近的脏块写入到数据文件。

如何利用检查点作为recovery的起始位置:

检查点该如何设置?

checkpoint timeout(检查点发生的频率)

检査点发生的间隔时间决定了实例恢复需要的时长, checkpoint timeout设置的值应该根据业务的需求设置,以实例崩溃时,下一次打开数据库时长的容忍度而设置。
间隔时间短,则实例恢复需要的时间就短,可提高数据库的可用性,但是会增加/O操作,降低数据库状态性能,检査点发生时属于密集型/O操作,会占用大量系统资源。
间隔时间长,则实例恢复需要的时间就长,会降低数据库的可用性,但是会减少/O操作,提高数据库状态性能。

checkpoint_completion_target(检查点完成目标)

参数的意思是:控制每次检查点发生时i/o的吞吐量

值越高,则i/o占用的资源越少。

值越低,则i/o占用的资源越多,影响数据块性能,但是提高检查点完成速度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/12871.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

报错:(idea端口被占用)Web server failed to start. Port 9090 was already in use.

cmd里面输入: netstat -ano|findstr "9090" 可以看到pid是9644 然后再打开任务管理器

特斯拉全自动驾驶(FSD)系统发展与解析

引言 自动驾驶技术在近年来迅猛发展,多家科技巨头和汽车制造商纷纷投入巨资研发,试图领跑这一未来出行的革命。在众多企业中,特斯拉的全自动驾驶(Full Self-Driving, FSD)系统以其独特的“纯视觉”策略脱颖而出&#…

白酒:酒精度数对白酒风味的影响与品鉴技巧

云仓酒庄豪迈白酒作为品质的白酒品牌,其酒精度数对白酒风味的影响与品鉴技巧是品鉴爱好者关注的重点。酒精度数作为衡量白酒质量的一项重要指标,不仅决定了白酒的口感和风格,更在一定程度上体现了白酒的品质和价值。本文将探讨酒精度数对云仓…

用友U8_dialog_moreUser_check.jsp SQL注入漏洞复现

简介 用友GRP-U8是用友软件针对政府及公共部门推出的管理软件产品。 GRP是Government Resource Planning的缩写,即政府资源计划。 这个产品设计用于满足政府部门在财务管理、人力资源管理、资产管理、供应链管理等方面的需求。 漏洞复现 FOFA: app="用友-GRP-U8&quo…

【Mysql数据库进阶02】第一范式~第四范式 Normal Form

第一范式~第四范式Normal Form 0 引言1 第一范式2 第二范式3 第三范式4 BC范式5 第四范式总结 0 引言 因为软考,我又重新拾起了数据库,那么到底如何去判断它属于第几范式呢 1 第一范式 设R是一个关系模式,R属于第一范式当且仅当R中每一个…

Zookeeper and RPC dubbo

javaguide zookeeper面试题 Zookeeper 啥是Zookeeper干啥的 ZooKeeper 可以被用作注册中心、分布式锁; ZooKeeper 是 Hadoop 生态系统的一员; 构建 ZooKeeper 集群的时候,使用的服务器最好是奇数台。 启动ZK 下载安装解压 不过多赘述 我的…

仿C#或Java基础类型自定义

class Int{ private:int _value 0; public:operator int() const{ // 隐式转换return _value;}// 显式转换explicit operator int*() const { return nullptr; }operator(const int page){_value page;}operator float() const{return static_cast<float>(_value);}ope…

字节跳动在2024年春季火山引擎Force原动力大会上隆重推出了“豆包大模型”家族

此次大会以AI为主题&#xff0c;聚焦大模型的应用与发展&#xff0c;旨在引领AI技术的落地和推动各行各业的数字化转型。 字节跳动官网&#xff1a;https://www.bytedance.com/zh/ 豆包官网&#xff1a;https://www.doubao.com/chat/ 更多消息&#xff1a;https://heehel.co…

Transformer - Self-Attention层的复杂度的计算

Transformer - Self-Attention层的复杂度的计算 flyfish 矩阵的维度 下面矩阵的维度是32即 3行&#xff0c;2列 6,10等都是矩阵里的元素 如果矩阵A的列数与矩阵B的行数相同&#xff0c;那么这两个矩阵可以相乘。即&#xff0c;若A是一个mn矩阵&#xff0c;B是一个np矩阵&am…

(论文笔记)TABDDPM:使用扩散模型对表格数据进行建模

了解diffusion model&#xff1a;什么是diffusion model? 它为什么好用&#xff1f; - 知乎 摘要 去噪扩散概率模型目前正成为许多重要数据模式生成建模的主要范式。扩散模型在计算机视觉社区中最为流行&#xff0c;最近也在其他领域引起了一些关注&#xff0c;包括语音、NLP…

k8s证书续期

证书即将到期了如何进行证书续签 k8s版本V1.23.6 1.查看证书期限 kubeadm certs check-expiration如果证书即将到期&#xff0c;此处的天数应该是几天&#xff0c;在过期之前进行续期&#xff0c;保证集群的可用 2. 备份证书 避免出现问题可以回退 cp -r /etc/kubernetes …

使用websocket和服务建立链接慢的原因分析

1、java 项目使用websocketHandler创建websocket服务&#xff0c;在拦截器HttpSessionHandshakeInterceptor中&#xff0c;beforeHandshake日志到的很快&#xff0c;afterHandshake很慢 建立链接一直在连接中 2、原因分析&#xff1a; 找到服务器上的进程名 jps -l 3、使用…

电脑数据丢失如何恢复?简单数据恢复的办法分享!

在使用电脑的过程中&#xff0c;数据丢失问题几乎是每位用户都可能遭遇的困境。那么&#xff0c;当电脑数据丢失时&#xff0c;我们该如何恢复呢&#xff1f;下面小编就分享几种电脑数据丢失后的恢复方法&#xff0c;轻松找回丢失的数据。 一、回收站找回 电脑上数据丢失的常…

java医院信息系统HIS源码SaaS模式Java版云HIS系统 接口技术RESTful API + WebSocket + WebService

java医院信息系统HIS源码SaaS模式Java版云HIS系统 接口技术RESTful API WebSocket WebService 云HIS是基于云计算的医疗卫生信息系统&#xff08;Cloud-Based Healthcare Information System&#xff09;&#xff0c;它运用云计算、大数据、物联网等新兴信息技术&#xff0c;…

如何基于可靠事件模式实现最终一致性?

今天我们一起来探讨一个分布式环境下的常见问题,这个问题与数据的一致性有关。那么,什么是数据一致性呢?要回答这个问题,需要我们回顾一下单块系统和分布式系统中对于数据处理的不同需求。 我们知道,传统的单块系统通常都只与一个数据库进行交互,所有的数据处理过程都位于…

【找到所有数组中消失的数字】leetcode,python

很菜的写法&#xff1a; class Solution:def findDisappearedNumbers(self, nums: List[int]) -> List[int]:nlen(nums)#存1-Nnum_1[i for i in range(1,n1)]#预存数num_2[]nums.sort()for i in nums:num_1[i-1]0for i in num_1:if i!0:num_2.append(i)return num_2能过但是…

(内地家长)为什么不建议做香港优才计划?香港身份的孩子不是全都能低分上名校!

&#xff08;内地家长&#xff09;为什么不建议做香港优才计划&#xff1f;香港身份的孩子不能都低分上名校&#xff01; 大部分申请香港优才的朋友&#xff0c;应该是冲着孩子教育、高考升学来的。 确实&#xff0c;香港优才申请后拿到的香港身份&#xff0c;对于孩子读书教…

YOLOv8改进教程|加入可改变核卷积AKConv模块,效果远超DSConv!

⭐⭐ YOLOv8改进专栏|包含主干、模块、注意力机制、检测头等前沿创新 ​ ⭐⭐ 一、 论文介绍 论文链接&#xff1a;https://arxiv.org/abs/2311.11587 代码链接&#xff1a;GitHub - CV-ZhangXin/AKConv 论文速览&#xff1a;&#xff1a;AKConv是2023年11月发表的一种可变卷积…

AI 写 SQL 真的靠谱吗?腾讯游戏在 AI+ 湖仓一体的实践

作者&#xff1a;腾讯游戏数据技术负责人 刘岩 导读 腾讯游戏是全球领先的游戏开发和运营商&#xff0c;其数据团队拥有十余年、700 款大型游戏的数据工作沉淀。复杂的业务环境下&#xff0c;腾讯游戏数据团队每年需要处理超过 3 万个数据提取需求&#xff0c;SQL 编写需要耗费…