数据库主备副本物理复制和逻辑复制对比

数据架构 | 逻辑数据仓库与物理数据仓库性能对比 在逻辑数据湖和逻辑数据仓库方法中,数据虚拟化系统在多个数据源之上提供统一的查询访问和数据治理功能(见图1)。这些数据源通常包括一个或多个物理数据仓库、Hadoop 集群、SaaS 应用程序以及其他数据库。两种方法的主要区别在于:逻辑数据湖更强调 Hadoop 的作用,而逻辑数据仓库则更偏向传统的 BI(商业智能)流程。在“逻辑数据仓库”和“逻辑数据湖”方法中,数据虚拟化系统在多个数据源之上提供统一的报表与治理功能。 阅读详情
AI摘要

本文围绕数据库主从复制展开,介绍了物理复制和逻辑复制的概念、特性及优缺点。物理复制数据一致性高、时延低,但有数据损坏等风险;逻辑复制灵活度高,可异构同步,但可能有延迟。还对比了国产数据库如MySQL系、PostgreSQL系等的复制类型。

数据库主从节点的数据一致性是保证数据库高可用的基本要求,各个数据库在实现方式上也各有异同。而主备复制的方式无外乎两种:物理复制和逻辑复制,本文简要对比下两种方式的不同,并分析下国产数据库是如何实现的。


1、数据库复制基本概念

数据库主从复制是保证金融级数据库高可用的重要手段,通过在多个数据库节点上保留相同数据的副本,从而确保即使某个节点发生故障,其他节点仍然能提供数据服务,从而提高系统的整体可用性。主备复制的分类有很多种:按照同步方式的复制分为同步、半同步和异步的方式;按照复制方向分为单向复制和双向复制,像数据库迁移这种有时候需要做反向同步;按照复制的实现技术分为存储级别复制和数据库级别复制。本文主要介绍不同数据库主备节点之间的物理复制和逻辑复制实现。

1.1 物理复制

物理复制也称为二进制或流式复制,数据库主库(或源数据库)将数据库的物理文件(如数据文件、日志文件等)或其变化(如二进制日志中的变化)以byte2byte的方式发送给从库(或目标数据库),从库则应用这些文件或变化来保持与主库数据的一致性。物理复制具有以下好处:

  • 数据高度一致性:主从节点的数据在物理层面保持一致性,满足金融级的可靠性要求,不用担心数据在逻辑层面的不一致;
  • 低时延:事务在执行过程中产生的Redo记录会实时的apply到备库,事务结束后就能看到数据,具备较低的复制时延;
  • 复制效率高:物理层面复制数据,能达到较高的复制效率。

以PostgreSQL数据库为例,当用户执行DML或DDL操作后,产生的WAL日志会通过wal sender进程实时发送到备库,备库的wal receiver进程接收后写入本地wal日志,之后startup进程会读取wal日志并应用到备库。

在这里插入图片描述

在PostgreSQL9.0之前不支持流式复制,而是等主库写完一个WAL日志文件后,才把WAL日志文件传送到备库,这样的方式导会致主备延迟特别大。9.0版本之后引入了流式复制机制,通过流复制,备库几乎实时的从主库同步相应的WAL记录。
不过基于物理数据块的物理复制也有缺点,有一些使用上的限制和无法覆盖的场景:

  • 数据页损坏:物理复制直接复制数据文件,如果复制过程中发生文件读写错误或磁盘损坏等问题,可能会导致数据损坏。
  • 只支持实例级别的复制,无法进行表级别或逻辑对象的过滤,比如某类DDL操作不想复制到备库
  • 主从库间版本兼容性:主从库在不同版本和不同操作系统之间进行复制可能存在兼容性问题,在版本升级或操作系统升级时候尤其需要关注
1.2 逻辑复制

逻辑复制是基于SQL层的数据复制技术,通过解析和复制数据库中的逻辑变化(如INSERT、UPDATE、DELETE等SQL语句)来实现数据同步。逻辑复制有以下特性:

  • 灵活度高:可以选择性的复制特定的表或数据操作,不需要整个数据库实例;
  • 异构数据库同步:由于逻辑复制是基于SQL层的操作,因此可以实现不同数据库实例之间的数据同步,甚至可以在不同数据库系统之间同步数据。
  • 可能存在延迟:由于需要解析和转换SQL语句,受限于备机性能或大事务语句可能存在一定的复制延迟

以MySQL数据库为例,当主库上有提交或数据更改时(如INSERT、UPDATE、DELETE),这些变更操作会被记录到二进制日志binlog中。从库上有一个I/O线程,它负责连接主库并从主库的二进制日志中读取数据。这些数据在从库上会被写入中继日志(Relay Log),中继日志是从库上的二进制日志的副本。从库上的SQL线程会读取中继日志中的事件,并将这些事件逐条应用到从库数据库上,从而使从库的数据与主库保持一致。

在这里插入图片描述

逻辑复制由于网络IO问题、大事务或者备机性能差及高并发等场景可能会导致relay log无法及时的写入备机,从而出现主从节点之间复制延迟过大。通常在主库高并发的场景下可以保证binlog日志已经传到备机,也就是RPO=0。

1.3 物理复制和逻辑复制特性对比

数据库主从节点间的复制方式是由各数据库自身的能力决定的,比如PostgreSQL数据库原生的支持物理复制,而不会选用更为复杂的逻辑复制实现;MySQL原生的使用逻辑复制实现。像PostgreSQL如果要实现跨数据库之间的数据同步,就需要将WAL日志解析为逻辑上的事务流,再同步到目标数据库中。物理复制和逻辑复制之间的特性对比如下:

  • 数据一致性:物理复制是基于物理层面数据块的复制,可以确保数据的高一致性;逻辑复制则是基于SQL语句的复制,可能出现数据不一致,比如主键冲突、数据丢失等,当出现主备机数据不一致时需要通过修复备机的方式应急。
  • 数据复制效率:物理复制直接复制数据文件来同步数据,相比逻辑复制执行大量SQL语句的方式,其速度更快。
  • 数据文件完整性:物理复制在数据文件传输过程中可能可能会出现数据损坏的情况,备机无法读取文件的时候也需要修复备机或者重传文件修复。
  • 兼容性问题:当主备库版本不同或者操作系统版本不同,可能存在兼容性问题,逻辑复制是基于SQL重做的,不会存在兼容性问题。
  • 数据复制灵活性:逻辑复制允许自定义复制过程中使用的SQL语句,因此可以实现更灵活的数据复制策略,比如不需要复制哪一类表或语句。
  • 数据复制延迟:逻辑复制主备节点间的复制延迟影响因素较多,比如住备库之间的网络IO、备库的性能、主库高并发事务写入等,可能会存在一定的复制延迟;物理复制主要受限于主备节点之间的网络和备节点的性能情况。

在这里插入图片描述

除了以上还有其他一些限制,比如PostgreSQL逻辑复制中不能同步DDL、Sequence和大对象不能复制,物理复制中备机只读、备机逻辑复制中和备份会出现冲突等情况。

2、国产数据库复制类型对比
2.1 MySQL系的数据库

国产数据库中MySQL系数据库指的是数据库存储引擎是兼容MySQL的,比如GoldenDB、TDSQL for MySQL,这一类数据库的主从节点复制方式是逻辑复制的,基于binlog日志的同步和解析实现备机的数据同步。

2.2 PostgreSQL系的数据库

国产数据库中PostgreSQL系的数据库如openGauss、GaussDB(for opengauss)等,主从节点的复制方式是集成了PG数据库原生的能力,基于WAL日志的物理复制方式实现的。

2.3 OceanBase数据库

OceanBase是基于Paxos协议的多副本复制架构,通过数据分区复制、日志同步等方式将数据同步到多个副本之上。OB中通过RedoLog来保证事务性,事务提交时利用Paxos协议在多个节点间同步RedoLog达成多数派提交,从而维护副本间数据的一致性。首先分区的所有副本(包括主副本自身)会在日志落盘成功后发起投票。当多数派副本都表决日志落盘成功后,业务事务在主副本提交返回。而备副本在接收到主副本同步过来的日志后,会按照日志中的操作指令进行数据的重放。Paxos协议保证了即使主副本发生故障,备副本也能够从多数派副本中找到完整的日志记录,并应用在新的主副本上,从而确保数据的高可用性和一致性。因此可以看到OceanBase数据库主备复制之间的数据同步是物理复制的方式实现的。

2.4 TiDB数据库

TIDB是基于Raft协议保证多副本数据一致性,每个Region会有多个副本,其中一个副本是leader,任何写请求都只能在 Leader 上写入,并且需要写入多数副本后才会返回客户端写入成功。

  • Leader将写操作写入其日志(Region Raft Log),并并行地将该操作发送给所有Follower副本。
  • Follower副本将写操作写入自己的日志,并向Leader发送确认。
  • 当Leader收到足够数量的确认(通常是大多数副本)后,它将操作应用到其状态机,并向客户端发送成功响应。
  • Leader随后通知所有Follower副本应用该操作到它们的状态机。

因此TIDB同一个Region的副本之间的同步方式是物理复制实现的。另外在跨Region的高可用架构中,使用TiCDC实现跨集群的高可用。TiCDC通过拉取上游TiKV的数据变更日志,将数据解析为有序的行级变更数据输出到下游。TiCDC实时监听上游TiKV各个Region Raft Log的信息,并根据每个事务前后数据的差异生成对应多条SQL语句的数据变更信息。TiCDC只保证输出的变更事件和上游TiDB的变更是等价的,不保证能准确还原上游TiDB引起数据变更的SQL语句。

在这里插入图片描述

基于TiCDC的数据复制是逻辑复制,在使用上还有一些限制,比如不支持创建Sequence的DDL操作、同步过程中不支持对同步的表或库的恢复或导入操作等。

2.5 达梦数据库

达梦数据库的主备实例由主库、备库、守护进程和监视器组成,DM数据守护将主库产生的Redo日志传输到备库,备库接收并重新应用Redo日志,从而实现备库与主库的数据同步。其核心思想是监控数据库状态,获取主、备库数据同步情况,为Redo日志传输与repay过程中出现的各种异常情况提供一系列的解决方案。可以看到主备间是物理复制的方式。

在这里插入图片描述

达梦数据库的主备同步方式分为实时主备模式(高性能模式)和即时主备模式(高可靠模式)

  • 在实时主备模式下,数据同步的实时性较高,但更注重性能表现。这种模式下,主库在将Redo日志(RLOG_PKG)写入联机日志文件之前,会先将Redo日志发送到备库。备库在收到Redo日志后,会将其标记为KEEP_PKG,并立即将原KEEP_PKG加入日志重演任务系统,同时马上响应主库,而不需要等待Redo日志重演结束。主库在收到备库的响应消息,确认备库已经收到Redo日志后,再将Redo日志写入联机日志文件中。
  • 即时主备模式则更注重数据的一致性和完整性。在这种模式下,主库先将Redo日志写入联机日志文件,然后通过MAL系统(可能是指达梦特有的消息传递和日志系统)将Redo日志发送到备库。备库在收到Redo日志后,会进行即时归档,并在重演完Redo日志后响应主库。这种模式的同步机制可以保证备库的Redo日志不会比主库的Redo日志多,从而确保数据在事务层面的一致性。
2.6 总结

本文简要介绍了不同数据库主备副本之间的物理复制和逻辑复制方式,各类数据库在底层引擎构建设计时多有不同,比如MySQL系的数据库以逻辑复制为主,而PostgreSQL系或其它分布式数据库类似Oracle数据库的物理复制。两种方式不是非此即彼的关系,各自都有些优缺点和适用场景。不管使用何种实现方式,最终目的是要能够保证主备节点之间数据的一致性,满足高复制性能、低复制时延的基本要求。

数据库类型集群内主备同步跨集群
达梦数据库集中式物理复制
OceanBase分布式物理复制物理复制
GoldenDB分布式逻辑复制逻辑复制
TDSQL(for MySQL)分布式逻辑复制逻辑复制
OpenGauss集中式物理复制物理复制
GaussDB(for opengauss)分布式物理复制物理复制
TiDB分布式物理复制逻辑复制

参考资料:

  1. https://www.modb.pro/db/52463
  2. https://blog.youkuaiyun.com/Laugh_xiaoao/article/details/127033658
  3. https://docs.pingcap.com/zh/tidb/stable/ticdc-overview
PostgreSQL主备同步详解 PostgreSQL支持物理复制和逻辑复制,物理复制也可以称为流复制(Streaming Replication),通过流复制技术,可以从实例级复制出一个与主库一模一样的从库,主库可读写数据,从库仅能读取数据;另一种复制方式称为逻辑复制(Logical Replication),逻辑复制可以做到基于表级别的复制。生产环境我们常用的是流复制技术。流复制又分为同步流复制和异步流复制,如果主节点和备节点不是很忙,通常异步模式下备库和主库的延迟时间能控制在毫秒级。 阅读详情

相关推荐

PostgreSQL主备流复制——异步

系列文章目录 第一张:PostgreSQL 12.2源码编译安装(https://blog.youkuaiyun.com/weixin_41840720/article/details/107232182) 第二章:Postgresql主备流复制——异步 文章目录系列文章目录一、什么是流复制二、物理流复制的特点三、同步、异步复制的区别1.同步流复制2.异步流复制四、异步流复制部署1.基本信息2.修改host文件3.修改pg_hba.conf文件4.修改postgresql.conf文件总结 一、什么是流复制 我们

glogin 1644

PostgreSQL实战之物理复制和逻辑复制(一)

PostgreSQL早在9.0版本开始支持物理复制,也可称为流复制(Streaming Replication),通过流复制技术,可以从实例级复制出一个与主库一模一样的从库(也称之为备库)。流复制同步方式有同步、异步两种,如果主节点和备节点不是很忙,通常异步模式下备库和主库的延迟时间能控制在毫秒级,将详细介绍两种同步方式的差异以及部署过程。

Auspicious航的博客 3126

PostgreSql学习:物理复制与逻辑复制

postgresql

nzbing的博客 1462

高可用方案之PostgreSQL的逻辑复制和物理复制(一)

常见高可用方案: 共享磁盘故障转移   共享磁盘故障转移避免了只使用一份数据库拷贝带来的同步开销。 它使用一个由多个服务器共享的单一磁盘阵列。 文件系统(块设备)       复制DRBD是用于 Linux 的一种流行的文件系统复制方案。 事务日志传送   温备和热备服务器能够通过读取一个预写式日志(WAL) 记录的流来保持为当前状态。如果主服务器失效, 后备服务器拥有主服务器的几乎所...

Gzigithub的博客 5206

PostgreSQL:一文掌握物理复制与逻辑复制

PostgreSQL提供物理复制和逻辑复制两种核心机制。物理复制基于WAL日志实现块级同步,适用于高可用、灾备等全库复制场景,要求主备版本一致且备库只读。逻辑复制通过发布-订阅模式实现表级行同步,支持跨版本、选择性复制和备库写入,适用于数据分发、多活架构等场景。二者在数据一致性、版本要求、备库状态等方面存在显著差异。正确选择复制方案需根据具体需求,如高可用推荐物理复制,异构系统集成则适合逻辑复制。运维时需注意监控复制延迟、处理冲突等关键问题。

数据知道的博客 2308

openGauss学习笔记-177 openGauss 数据库运维-逻辑复制-逻辑解码-逻辑解码概述

支持通过数据迁移工具定期向异构数据库(如Oracle等)进行数据同步,不具备实时数据复制能力。不足以支撑与异构数据库间并网运行实时数据同步的诉求。 openGauss提供了逻辑解码功能,通过反解xlog的方式生成逻辑日志。目标数据库解析逻辑日志以实时进行数据复制。

超哥的博客 1627

【PostgreSQL使用】最新功能逻辑复制槽的failover,大数据下高可用再添利器

使用数据库除了存取数据快捷以外,还有一个非常重要的目的,就是它有一整套的机制来保障数据访问的高可用,持续性。 当然逻辑复制也不例外,当我们正在订阅的主库故障发生主备切换时,仍然希望数据库对象的变更订阅不会丢失,能持续收到发布者的消息。 这在以往的PostgreSQL版本中是没有的,最新的PostgreSQL 17版本终于完善了这一功能,逻辑复制支持了failover特性,提升了逻辑复制的高可用性。 本文通过搭建逻辑复制的failover部署,来试一试逻辑复制的failover倒底如何。

一个追逐梦想的码农 1万+

PostgreSQL:逻辑复制与物理复制

PostgreSQL的复制体系就像生物进化的活化石,记录着数据同步技术从简单镜像到智能分发的演化轨迹。在物理复制的确定性世界与逻辑复制的概率宇宙之间,我们看到了数据库技术应对不同场景的智慧平衡。随着PostgreSQL 16引入的逻辑复制并行应用(max_logical_replication_workers)和双向逻辑复制实验特性,这场复制革命正开启新的篇章。掌握这些技术,就如同获得在数据洪流中冲浪的智慧桨板,助您在数字时代的浪潮中破浪前行。

在技术的广袤天地里,本博客如精准罗盘。剖析前沿科技,深掘代码奥秘,以精炼笔触,带您穿越复杂技术迷宫,速达知识彼岸。 2750

postgresql16 物理复制与逻辑复制的实现和对比

关于使用 PostgreSQL 设置服务器复制以实现各种复制方法的文章到此结束。首先,我们回顾了设置和运行每种方法的实际步骤,然后查看了每种方法功能的高级摘要。

xuejianxinokok的专栏 2121

FOC项目知识点总结三 | 完全搞懂 Clarke 与 Park 变换(附动图,仿真文件以及详细讲解数学推导过程)

本文目的,最终可以完整推算两种变换 Clarke 变换 首先先看我们需要用到的两种坐标系 1. 自然坐标系 abcabcabc 我们知道,通过三相逆变电路,我们可以画出一个自然坐标系 abcabcabc ,即三相电压的坐标系,通入的电流在这三轴坐标系中变化: 将三个矢量相加合并在一起就如下图所展现: 使用三个坐标轴来表示十分的麻烦与不直观,因为其是非正交的,于是乎我们想要将其转化成使用两个正交的坐标轴来表示,于是乎便有了 Clarke变换。 Clarke 变换的作用: 将基于三轴二维的定子静止坐标系的各

Wilson Huang的博客 3万+

学习stm32H7之路开始(STM32H7系列1) 前期准备,HAL库框架

2020.01.07 几个重要的参考网址 1.电子工程世界网 http://tags.eeworld.com.cn/tags/STM32H7 链接: link. 2.转:https://blog.youkuaiyun.com/simon223/article/list/2?t=1 链接: link. ———————————————— 版权声明:本文为优快云博主「Simon223」的原创文章,遵循 CC 4....

kengkengkeng963的博客 3408

IvorySQL与pg_failover_slot插件:如何实现逻辑复制槽的高可用主备同步

pg_failover_slot是专为PostgreSQL开发的一个插件,旨在解决逻辑复制槽无法在主备之间同步的问题。该插件通过在主节点和备节点之间同步逻辑复制槽,确保当备节点被提升为主节点时,它能够继续向下游订阅者发送数据变更,而不需要重新创建或手动干预。pg_failover_slot可以在主备节点之间同步逻辑复制槽,确保备节点具备相应的复制槽记录。在主备切换后,无需手动创建新的逻辑复制槽,保证订阅者能够立即获取新主节点上的数据变更。

IvorySQL的博客 1579

Win10插网线显示未识别网络的三种解决方法

本文介绍了三种解决Win10插网线显示未识别网络问题的方法:更新或重启网络设备驱动程序、重置Winsock目录、启用Network Setup Service服务。这些方法都是基于常见的网络问题和解决方案而设计的,适用于大多数Win10用户。如果你遇到了这一问题,可以按照上述步骤进行操作,相信一定能够找到解决问题的方法。需要注意的是,在进行任何操作之前,请务必备份重要数据以防万一。此外,如果你对计算机硬件或软件不熟悉,建议寻求专业人士的帮助以避免造成不必要的损失。

nntxthml的博客 6769

PostgreSQL复制技术全解析:从物理复制到逻辑复制的实践指南

PostgreSQL作为企业级数据库的核心组件,其复制技术是构建高可用架构和数据同步解决方案的基础。本文深入剖析PostgreSQL两大复制技术——物理复制与逻辑复制的实现原理、配置方法和应用场景。通过对比分析两者的技术特点,帮助读者根据业务需求选择合适的复制方案。文章包含详细的配置示例、性能优化建议和实际应用案例,为数据库管理员和架构师提供全面的实践指导。

neweastsun的专栏 1414

HTML5期末大作业:水果超市网站设计——水果超市(6页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 网购商城设置网页

HTML5期末大作业:水果超市网站设计——水果超市(6页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 网购商城设置网页 常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 明星、 服装、 体育、 化妆品、 物流、 环保、 书籍、 婚纱、 军事、 游戏、 节日、 戒烟、 电影、 摄影、 文化、 家乡、 鲜花、 礼品、 汽车、 其他 等网页设计题目, A+水平作业, 可满足大

1712

Blender入门教程-3D视图界面介绍

3D视图用于与3D场景交互,可用于各种目的,例如建模、动画、纹理绘制等。在关闭 启动画面 后,启动场景会显示在3D视口中(如果没有加载其他blend文件)。01 标题栏标题栏包含了基于当前 模式 的各种菜单和控制。

weixin_52345129的博客 2287

数据库主备高可用机制深入对比研究

在当今数字化时代,数据库作为企业核心数据的存储与管理平台,其高可用性直接关系到业务的连续性和稳定性。随着云计算、大数据和人工智能等技术的快速发展,数据库规模和复杂性不断增加,对高可用架构的要求也越来越高。主备复制作为实现数据库高可用性的基础技术,被各大数据库厂商广泛采用。然而,不同数据库系统的主备高可用机制在设计理念、实现方式和应用场景上存在显著差异。

喝醉酒的小白 1207

MFC停靠窗口实战:CDockablePane从创建到控件布局的完整指南(附残影问题排查)

本文提供了MFC中CDockablePane停靠窗口的完整实战指南,涵盖从自定义窗格类创建、主框架集成、内部控件布局到高级功能定制的全过程。针对开发中常见的“残影”视觉问题,文章深入剖析了其根源,并给出了系统性的排查步骤与解决方案,帮助开发者构建稳定、专业的可停靠用户界面。

sun99的博客 613

逻辑复制mysql_物理复制 vs 逻辑复制,该如何选择?

原标题:物理复制 vs 逻辑复制,该如何选择?近些年受到国内外许多因素的影响,越来越多的业务开始使用PostgreSQL数据库。复制是保证数据安全的一种常用手段,给正在使用的数据提供了一个热备的副本,当一个副本宕机或丢失,能快速使用另一个进行运作,对业务影响较小。PostgreSQL数据库提供了两种复制方式:物理复制和逻辑复制。很多刚接触数据库的小伙伴,不知道该如何选择。本文将对两种复制方式进行一...

weixin_39852688的博客 1573

AI驱动的网络安全运维:智能化时代的安全保障

本项目旨在使用Python和AI技术构建一个智能化的网络安全运维系统,能够实时监测网络流量,检测潜在的安全威胁,并自动采取应对措施,从而提升网络安全管理的效率和准确性。具体内容包括:环境配置与依赖安装数据采集与预处理机器学习模型构建与训练实时威胁检测与响应实际应用案例通过本文的介绍,我们展示了如何使用Python和AI技术构建一个智能化的网络安全运维系统。

Echo_Wish 1290

AutoSAR_BSW高阶 7. Signal Group 信号组

Autosar BSW的高级配置是实现复杂汽车电子系统的关键步骤之一。通过合理配置信号组和使用适当的参数,您可以提高系统性能,确保数据的可靠传输。在本博客中,我们深入探讨了信号组的概念和高级配置参数,并提供了示例代码,希望这些信息能够帮助您更好地理解和应用Autosar BSW的高级配置。如果您在配置过程中遇到任何问题,不妨寻求专业支持,以确保您的汽车电子系统能够顺利运行。Autosar COM 模块是一个广泛应用于汽车行业的关键技术,它使不同的电子控制单元能够有效地通信和协作。

一直在水些技术小文 661

PostgreSQL实战之物理复制和逻辑复制(八)

实际上PostgreSQL支持备库既可接收主库发送的将WAL,也支持WAL发送给其他备库,这一特性称为级联复制(Cascading Replication),本章介绍级联复制的物理架构和部署。

Auspicious航的博客 1443

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

流复制浅析 —— 物理流复制部署

PostgreSQL复制方式有两种:物理复制和逻辑复制。 早在PG9.0版本开始支持物理复制,也可以叫流复制(Streaming Replication下文中流复制一般指物理流复制)。PG10版本开始支持逻辑复制。 流复制技术可以在实例级别复制出一个与主库一模一样的从库(备库)。通过流复制,备库不断的从主库同步相应的数据,并在备库apply每个WAL record,这里的流复制每次传输单位是WAL日志的record。而PostgreSQL9.0之前提供的方法是主库写完一个WAL日志文件后,才把WAL日志

HighGO 2078

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

物理复制比逻辑复制好在哪?数据库复制原理详解

逻辑复制在主库把数据变更解析成逻辑事件(比如 binlog 里的 SQL 或行变更),传到备库后由备库重新执行一遍。物理复制则直接传输存储引擎层的物理日志(redo log 一级的底层变更),备库按物理页面变更直接应用,不需要重新解析执行 SQL。两者最大的区别在同步路径长短:逻辑复制要"解析→传输→重放执行",物理复制是"底层日志→直接应用",路径更短、延迟更低。阿里云 PolarDB 采用物理复制,适用于对主备延迟和一致性敏感的业务。

Database_Cool_的博客 77

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

主备如何同步以及一主两备的高可用边界

本文基于物理日志复制机制,解析主备同步核心:主库生成WAL记录,备库通过接收、持久化并回放实现数据一致。

taiyang3285的博客 420

PostgreSQL实战之物理复制和逻辑复制(五)

流复制的主库和备库角色不是静态存在的,在维护过程中可以对两者进行角色切换,例如当主库硬件故障或主库系统参数调整需要重启操作系统时,通常进行流复制主备切换,这一小节将介绍手工主备切换,主备切换的方式有两种,一种是通过创建触发器文件方式触发主备切换,另一种方式通过pg_ct| promot命令触发主备切换。目前PostgreSQL高可用方案大多基于流复制环境进行部署,流复制主备切换是PostgreSQL高可用方案的基础。

Auspicious航的博客 998
上一篇: 数据库系列之GaussDB数据库中逻辑对象关系简析
下一篇: 数据库系列之国测2024公布,国产数据库将尘埃落定?
solihawk
博客等级 码龄17年 7995粉丝 184原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值