Wal
  • 2024-09-16PostgreSQL的walsender和walreceiver进程介绍
    PostgreSQL的walsender和walreceiver进程介绍在PostgreSQL中,WAL(Write-AheadLogging)是一种用于确保数据库事务日志安全可靠的机制。WAL是PostgreSQL进行数据库恢复、复制等操作的基础。walsender和walreceiver是PostgreSQL内部两个非常重要的进程,它们负责主
  • 2024-09-15深入理解 Write-Ahead Logging (WAL) 及其应用
    在讨论数据库原理的时候,我们经常会听到一种技术-Write-AheadLogging(WAL),它保证了数据的持久性和一致性。WAL的基本思想非常简单,但它的应用范围非常广泛,从数据库到分布式系统,再到各种现代应用的开发中,都能看到它的影子。本文将深入剖析WAL的基本机制,并探讨其在不同应用场
  • 2024-09-08postgres 文件结构和记忆(更新中)
    [postgres@pg1data]$lltotal8256drwx------.8postgrespostgres84Jan22024base-rw-------.1postgrespostgres33Sep808:51current_logfilesdrwx------.2postgrespostgres4096Sep808:52global-rw-------.1postgrespostgres
  • 2024-09-03goleveldb的原理简述(基于golang的goleveldb库)
    简介goleveldb是基于LSM-Tree实现的针对处理写多读少场景的解决方案,通常用于构建写多读少的存储引擎整体架构图如下基于用户接口层简述原理吧Get,按key查询数据,首先区内存中的数据,如果内存中没有则依次从硬盘中的ldb文件中取得数据。Put,按key更新数据,首先写内存数据,如
  • 2024-08-30PG复制槽的原理
    什么是PG复制槽?PG复制槽用于记录主备流复制的状态,主要目的是防止wal日志被过早的删除,导致备库流复制中断。复制槽是有状态的,能够持久化到磁盘上,允许宕机、重启场景下进行恢复。在有复制槽的场景下,即使备库关闭很长时间,主库也会为其保留足够的wal日志,直到备库恢复接收完这
  • 2024-08-29MySQL WAL机制详解
    目录:是什么undologRedoLog 与BinlogRedolog三种状态redolog 的持久化Binlog三种格式三种状态binlog 的持久化两者的联系状态Crash-Safe 能力三步提交的参数配置组提交优化" 三步提交"三步提交过程总结三个日志的比较(undo、redo、bin) 
  • 2024-08-11PostgreSQL的WAL日志详解
    PostgreSQL的WAL日志详解1.WAL日志介绍1.1WAL介绍wal日志即writeaheadlog预写式日志,简称wal日志。wal日志可以说是PostgreSQL中十分重要的部分,相当于oracle中的redo日志。当数据库中数据发生变更时:change发生时:先要将变更后内容计入walbuffer中,再将变更后的数据写入data
  • 2024-08-11PostgreSQL-连续归档和时间点恢复
    PostgreSQL-连续归档和时间点恢复(PITR)PostgreSQL始终在群集数据目录的pg_wal/子目录中维护一个预写日志(WAL)。该日志记录对数据库数据文件所做的每一项更改。此日志主要用于崩溃安全性:如果系统崩溃,可以通过“重放”自上次检查点以来所做的日志条目来将数据库恢复到一致性
  • 2024-08-11PostgreSQL的一主一从集群搭建部署
    1.PostgreSQL的一主一从集群搭建部署1.目标​ 掌握Postgresql数据库主从部署搭建配置2.脉络部署规划PostgreSQL单节点安装PostgreSQL主从部署配置主从同步验证3.部署搭建3.1基础准备1.1创建两台虚拟机虚拟机名IPhostname主从划分test11192.168.198
  • 2024-07-26KingbaseES 数据库WAL日志暴增问题处理
    故障现象:kingbase数据库容量不足100G,业务繁忙程度小,但是每天产生112283个WAL日志,每个日志16M,生成约1.7T的归档日志分析过程:思路一:从数据库日志入手,分析过程如下:sys_log日志:2024-06-0223:54:05.497CST3130361b580b0.7a47182242021-12-1212
  • 2024-07-26KingbaseES 更改 WAL 日志文件大小
    一、引言WAL日志的目的:WAL(Write-AheadLogging)是KingbaseES数据库中的一个关键特性,用于确保在数据库崩溃或故障后能够恢复数据。WAL日志记录了数据库的所有更改,这样即使数据库突然宕机,也可以从WAL文件中恢复数据到一致性状态。命令的功能:sys_resetwal命令用于重置WAL日志,它可以
  • 2024-07-10PostgreSQL逻辑复制搭建
    复制作为一种高可用/数据同步方案,在每一种数据库中都有实现,可以借助复制功能实现数据库的高可用或者数据同步/备份方案。复制的分类整体上看,复制可以分为物理复制和逻辑复制,对于物理复制或者逻辑复制,没有所谓的优劣,只有各自的适应场景。所谓的物理复制,也即复制数据库的redo物理
  • 2024-07-07基于 LSN 的 PostgreSQL 数据管理与恢复
    在数据管理和恢复中,LSN(LogSequenceNumber)起着至关重要的作用。本文将深入探讨LSN在PITR(时间点恢复)、流复制、日志记录以及数据一致性中的具体应用,并详细介绍如何基于LSN进行时间点恢复。1.基本概念1.1LSNLSN(LogSequenceNumber,日志序列号)是PostgreSQL中用于
  • 2024-06-22PostgreSQL的存储结构介绍
    PostgreSQL的存储结构介绍PostgreSQL是一个先进的开源关系型数据库管理系统,其存储结构设计非常复杂且高效。了解其存储结构有助于数据库管理员和开发人员更好地优化数据库的性能、设计数据模型以及进行故障排除。以下是PostgreSQL存储结构的详细概述。1.数据文件结构
  • 2024-06-14SQlite
    #PRAGMA命令https://www.sqlite.org/pragma.html#pragma_journal_modehttps://www.w3cschool.cn/sqlite/sqlite-pragma.html##查询锁模式PRAGMAlocking_mode;PRAGMAlocking_mode=NORMAL|EXCLUSIVE(排它模式)此编译指示设置或查询数据库连接锁定模式。锁定模式为
  • 2024-06-03Hbase 面试题(五)
    1.简述什么是WAL(WriteAheadLog)预写日志?WAL(WriteAheadLog),即预写日志,是HBase中用于保证数据持久性和一致性的关键机制。以下是WAL的简要概述:目的:WAL的主要目的是在数据实际写入到MemStore之前,先将其记录到一个日志中。这样即使在系统崩溃或故障的情况下,也能够从日
  • 2024-05-30可靠性和预写日志
    可靠性可靠性是任何严肃的数据库系统的重要属性,而PostgreSQL尽一切可能保证可靠操作。可靠操作的一个方面是,已提交事务记录的所有数据都应存储在非易失性区域中,该区域不会受到断电、操作系统故障和硬件故障的影响(当然,非易失性区域本身的故障除外)。成功地将数据写入计算机的永久存
  • 2024-05-22pg调整wal_segment_size(默认是16MB)大小
    环境:OS:Centos7DB:pg14pg默认的wal_segment_size是16MB,下面可以通过如下命令修改 1.关闭数据库systemctlstoppostgresql-14 2.修改wal默认大小[root@dsc1bin]#/usr/pgsql-14/bin/pg_resetwal--wal-segsize=64-D/opt/pg14/datapg_resetwal:error:cannotbeexec
  • 2024-05-16pgsql-cdc
    1、CDC日志开启SHOWwal_level;ALTER SYSTEM SET wal_level = 'logical';wal_level是PostgreSQL中的一个参数,用于控制WAL(Write-AheadLogging)日志的生成级别。WAL是PostgreSQL中的一种持久性技术,用于确保数据库的持久性和一致性。在PostgreSQL中,wal_level参数有
  • 2024-05-13openGauss 配置设置
    配置设置发布订阅要求设置一些配置选项。在发布者端,wal_level必须被设置为logical,而max_replication_slots中设置的值必须至少是预期要连接的订阅数加上保留给表同步的连接数。发布端参数max_wal_senders应满足:max_wal_senders>=max_replication_slots+同时连接的物理复制槽
  • 2024-05-13Prometheus TSDB概念介绍
    PrometheusTSDB概念介绍序言为了让新入门的学习者更好地学习后续的文章,本文会针对prometheus中的一些概念进行简要介绍基本概念metricname:指标名称,对于监控数据而言,每一个监控数据都需要有一个指标名称,如监控一个服务接收到的http请求数,那么metricname一般设置为http_requ
  • 2024-05-06openGauss 备机处于need-repair_WAL_状态问题
    备机处于needrepair(WAL)状态问题问题现象openGauss备机出现StandbyNeedrepair(WAL)故障。原因分析因网络故障、磁盘满等原因造成主备实例连接断开,主备日志不同步,导致数据库在启动时异常。处理分析通过gs_ctlbuild-D命令对故障节点进行重建,具体的操作方法请参见《工具
  • 2024-05-06postgresql 16 主备/主从
    注意事项基于postgresql16版本相关核心概念介绍预写日志机制(WAL)数据持久化是指提交事务后对系统的影响是永久的,即使数据库重启或崩溃,数据不会丢失。最简单的做法是事务提交后,数据就立刻持久化到磁盘中。但是内存和磁盘之间的IO操作是最影响性能的,所以会将一部分数据保
  • 2024-04-29openGauss MOT恢复
    MOT恢复MOT恢复的主要目标是在有计划停机(例如维护)或计划外崩溃(例如电源故障后)后,将数据和MOT引擎恢复到一致状态。MOT恢复是随着openGauss数据库其余部分的恢复而自动执行的,并且完全集成到openGauss恢复过程(也称为冷启动)。MOT恢复包括两个阶段:检查点恢复:必须通过将数据加载到内
  • 2024-04-29openGauss MOT恢复概念
    MOT恢复概念MOT恢复模块提供了恢复MOT表数据所需的所有功能。恢复模块的主要目标是在计划(例如维护)关闭或计划外(例如电源故障)崩溃后,将数据和MOT引擎恢复到一致的状态。openGauss数据库恢复(有时也称为冷启动)包括MOT表,并且随着数据库其余部分的恢复而自动执行。MOT恢复模块无缝、全