PostgreSQL 主从的进程和Oracle dataguard的进程对比介绍

news/2024/12/22 9:05:39/

PostgreSQL 主从的进程和Oracle dataguard的进程对比介绍

PostgreSQL 的主从复制和 Oracle Data Guard(Oracle 的高可用、灾难恢复和数据保护解决方案)在实现高可用性和数据保护方面有很多相似之处,但它们的实现细节和所涉及的进程有所不同。以下是对这两者主要进程的比较:

PostgreSQL 主从复制

PostgreSQL 主从复制(Streaming Replication)通常涉及以下关键进程:

  1. WAL Sender (WAL 发送进程)

    • 进程名wal_sender
    • 作用:在主库上运行,将 WAL(预写式日志)记录发送到一个或多个从库。每个从库通常有一个对应的 wal_sender 进程。
    • 启动:当从库请求流复制时,主库会启动 wal_sender 进程。
  2. WAL Receiver (WAL 接收进程)

    • 进程名wal_receiver
    • 作用:在从库上运行,接收来自主库的 WAL 数据并将其写入从库的 WAL 日志文件中。
    • 启动:当从库启动并连接到主库时,wal_receiver 进程被启动。
  3. WAL Writer (WAL 写入进程)

    • 进程名wal_writer
    • 作用:将 WAL 日志数据从缓冲区写入磁盘。此进程存在于所有 PostgreSQL 实例中,无论是主库还是从库。
    • 启动:在数据库启动时自动启动。
  4. Checkpointer (检查点进程)

    • 进程名checkpointer
    • 作用:定期将脏缓冲区数据写入磁盘,同时创建数据库的检查点。在从库上,这个进程也会进行类似的操作以进行数据恢复。
    • 启动:在数据库启动时自动启动。
  5. Background Writer (后台写入进程)

    • 进程名bgwriter
    • 作用:将脏缓冲区写入磁盘,以减轻 checkpointer 的负担。在主库和从库中都存在。
    • 启动:在数据库启动时自动启动。
  6. Startup (启动进程)

    • 进程名startup
    • 作用:在从库上运行,负责应用从主库接收到的 WAL 数据,从而将从库的数据库文件恢复到最新状态。

Oracle Data Guard

Oracle Data Guard 中主要涉及以下关键进程:

  1. Log Writer (日志写入进程)

    • 进程名LGWR
    • 作用:在主库上运行,将重做日志记录从内存写入磁盘的在线重做日志文件。
  2. Archiver (归档进程)

    • 进程名ARCn
    • 作用:将已经满的在线重做日志文件复制到归档日志文件中。在主库和备库上都存在,如果启用了归档模式。
  3. Log Transport Services(日志传输服务)

    • 进程名LNSRFS
    • Log Network Server (日志网络服务器进程, LNS):在主库上运行,将重做数据传输到远程日志应用服务。
    • Remote File Server (远程文件服务器进程, RFS):在备库上运行,接收来自主库的重做数据并将其写入远程重做日志文件。
  4. Recovery (恢复进程)

    • 进程名MRP(Managed Recovery Process, 自动恢复进程)和 LSP(Logical Standby Process, 逻辑备库进程)
    • MRP:在理备库上运行,应用收物到的重做数据以保持数据库同步。
    • LSP:在逻辑备库上运行,解析和应用重做数据。
  5. Fetch Archive Log (获取归档日志进程)

    • 进程名FAL
    • 作用:在备库上运行,用于请求主库重新发送丢失的日志文件。

比较总结

  1. 日志传输

    • PostgreSQL:使用 wal_senderwal_receiver 进程传输 WAL 日志。
    • Oracle Data Guard:使用 LNSRFS 进程传输重做日志。
  2. 日志写入与归档

    • PostgreSQLwal_writer 写入 WAL 日志,备库也有 WAL 写入机制。
    • Oracle Data GuardLGWR 写入重做日志,ARCn 负责日志归档。
  3. 恢复与同步

    • PostgreSQL:在从库上使用 wal_receiver 接收日志并通过常规恢复进程应用。
    • Oracle Data Guard:使用 MRP 在物理备库上应用日志,LSP 在逻辑备库上解析并应用重做数据。
  4. 额外支持

    • PostgreSQL:主要依赖流复制和物理备库,较少使用逻辑复制备份。
    • Oracle Data Guard:提供更丰富的逻辑和物理备库支持,并有多样的自动恢复与重新同步机制(如 FAL)。

总结

PostgreSQL 和 Oracle 在主从复制和数据保护上的实现有相似之处,但其具体进程和操作细节有所不同。PostgreSQL 的主要进程较少且集中,而 Oracle Data Guard 涉及更多专用进程,更细致地处理归档、日志传输和恢复操作。


http://www.ppmy.cn/news/1533686.html

相关文章

10月2日笔记(内网资源探测篇)

内网资源探测 在内网渗透中,测试人员往往需要通过各种内网扫描技术来探测内网资源的情况,为后续的横向渗透做准备,通常需要发现内网存活的主机,并探测主机的操作系统、主机开放了哪些端口、端口上运行了哪些服务、服务的当前版本…

每一个云手机的ip是独立的吗

每一个云手机的IP地址通常是独立的。以下是关于云手机IP地址的一些详细信息: 1. 云手机的概念 云手机是将手机操作系统(如Android)虚拟化后托管在云服务器上的一种服务。用户可以通过互联网访问和控制这些云手机,进行应用使用、…

Spring Task 2024/9/30

Spring Task是Spring框架提供的任务调度工具,可以按照约定时间自动执行某个代码逻辑。 作用:定时自动执行某段java代码。 cron表达式 在线Cron表达式生成器 (qqe2.com)👈在线生成网站 入门案例 SkyApplication 启动类 package com.sky;im…

利用SpringBoot构建高效社区医院平台

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…

Ansible 剧本的执行

Ansible 剧本(playbook)是一种用于定义和自动化 IT 任务的工具,它使用 YAML 格式编写,能够描述一系列的任务和操作,以实现对服务器、网络设备等的配置管理和部署。 以下是关于 Ansible 剧本执行的一些关键方面&#xf…

uniapp实现图片上下浮动效果

实现效果 图片以Y轴进行上下浮动 实现代码 <template><view class"header"><view class"image-center"><image src"../../static/image/index_center.png" class"centers"></image></view><…

软件工程的详细学习要点和学习方向

软件工程的详细学习要点和学习方向主要包括以下几个方面&#xff1a; 学习要点 1. 编程语言基础&#xff1a; - 熟练掌握至少一种编程语言&#xff0c;如Java、Python、C等。 - 学习编程语言的语法、特性、常用库函数&#xff0c;并具备编写、调试和优化代码的能力。 …

每天五分钟深度学习PyTorch:如何使用GPU来跑深度学习算法模型?

本文重点 我们前面介绍pytorch的时候,我们提到过它可以使用GPU加速,那么如何才能完成GPU的加速呢?在pytorch中非常简单,我们只需要将数据计算,模型放到GPU上就行,这样就可以使用GPU来跑深度学习算法模型了。 如何判断我们的电脑是否支持GPU pytorch中关于GPU的一些相关…