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

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 涉及更多专用进程,更细致地处理归档、日志传输和恢复操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值