在 GaussDB 中,主备之间的数据同步主要有以下几种模式:
1. 同步复制(Synchronous Replication)
最大保护模式:在该模式下,主机的事务必须等待该事务对应的 xlog 日志在多数派主机上都落盘后才能提交。如果因为网络原因或者多数的备机发生故障,此时主机的事务将无法提交。该模式下,可以保证 RPO=0,参数设置
synchronous_commit=on。最大可用模式:当发现备机不可用时,会自动从最大保护模式切换为最大可用模式,保证在备机不可用时主机的事务能够继续执行。该模式下无法保证 RPO=0,参数设置
most_available_sync=on。最大性能模式:主机的事务在该事务对应的 xlog 日志在本地落盘之后就可以提交,主机的性能不受备机的影响。该模式下,在主机故障时,可能会有一定的数据丢失,参数配置
synchronous_commit=off。
2. 异步复制(Asynchronous Replication)
流式复制:GaussDB 跨 Region 之间的数据同步采用流式复制的方式,一般是在生产和灾备建立两套数据库集群,基于 WAL 日志建立日志复制关系。跨 Region 之间的复制不能保证 RPO=0
。
3. DRS 实时同步
全量+增量同步:该模式为数据持续性实时同步,通过全量过程完成目标端数据库的初始化后,增量同步阶段通过解析日志等技术,将源端和目标端数据保持数据持续一致。选择“全量+增量”同步模式,增量同步可以在全量同步完成的基础上实现数据的持续同步,无需中断业务,实现同步过程中源业务和数据库继续对外提供访问
。 全量同步:该模式为数据库一次性同步,全量同步将源库数据一次性同步至目标端数据库。
增量同步:增量同步通过解析日志等技术,将源端产生的增量数据同步至目标端
。
通过以上模式,GaussDB 可以根据不同的业务需求和数据一致性要求,选择合适的数据同步方式,确保数据的高可用性和一致性。




