浅谈数据库同步

译文
数据库
顾名思义,数据库同步(Database synchronization)是指在两个或多个数据库之间建立数据的一致性,并且能够自动相互复制数据记录的更改。随着时间的推移和信息量的增多,此类数据的协调工作应当被持续执行。

浅谈数据库同步

【51CTO.com快译】顾名思义,数据库同步(Database synchronization)是指在两个或多个数据库之间建立数据的一致性,并且能够自动相互复制数据记录的更改。随着时间的推移和信息量的增多,此类数据的协调工作应当被持续执行。

从实现机制上说,最简单的操作方式莫过于将数据从源数据库(主数据库)推送到目标数据库(从数据库)。当然,值得注意的是:同步必须基于主键(Primary Key)的约束。同时数据库的结构应当包含有主键或唯一(主)索引,而绝不是复合型(composite)的。

通常,我们会在两到多个数据库之间持续如下类型的同步:

  • 插入同步(Insert Synchronization)
  • 更新同步(Update Synchronization)
  • 删除同步(Drop Synchronization)
  • 混合同步(Mixed Synchronization)

数据库插入同步

如果目标表中并不具有与源表相同主键值的适当记录,那么源表需要将新的记录自动传输到目标处。也就是说:在数据库完成同步过程后,那些缺少的记录将被插入到目标表的对应位置。

下图展示了数据库插入同步的具体过程:

数据库更新同步

当源数据库发生更改时,我们必须确保在目标数据库中执行适当的更改。显然,在同步之前,我们需要先比较两个数据库的记录值,然后在目标表处替换需要更改的记录,并在两个表之间建立合适的标识,以标记更新数据库的操作已完成。

下图展示了数据库更新同步的具体过程:

数据库删除同步

如果某些数据记录已经从源数据库中被删除,那么其对应的记录也需要及时从目标数据库中被移除。也就是说,通过检查“删除同步选项(Drop-sync option)”,那些“滞留”在目标数据库中的多余记录会被及时删除掉,以保障源数据库与目标数据库的存储一致性。

下图展示了数据库删除同步的具体过程:

数据库混合同步

其实在实际应用中,上述三种同步操作从来不是孤立地存在着。为了保持两个数据库的相关性,我们必须在同一套操作中,对目标数据库的对应行/列“打出”添加、更新、以及删除的“组合拳”。

下图展示了数据库混合同步的具体过程:

在《跨数据库转换和同步软件》(请参见-- https://dbconvert.com/)一文中,作者详细介绍了如何在SQL Server、MySQL、Oracle、以及PostgreSQL等时下流行的本地数据库之间,迁移与同步各类数据与记录的操作。当然,此类方法也适用于AWS RDS/Aurora、Microsoft Azure SQL、以及Google Cloud SQL等云端数据库平台。

原标题:What Is Database Synchronization?,作者: Dmitry Narizhnykh

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

 

责任编辑:庞桂玉 来源: 51CTO
相关推荐

2019-08-13 15:52:34

数据库同步迁移

2021-11-26 22:07:57

数据库管理Mongodb

2019-07-16 06:30:19

MySQL同步延迟数据库

2009-04-16 09:08:21

Oracle开发经验

2023-09-01 07:30:59

2010-06-02 16:57:50

MySQL数据库同步

2010-08-27 09:59:51

SQL Server

2018-09-06 14:53:39

数据库事务隔离隔离级别

2011-03-31 09:55:59

Oracle数据库开发技术

2011-07-13 10:36:53

Delphi

2009-07-20 15:56:08

JDBC连接数据库步骤

2009-02-03 08:58:13

SQL*Net配置网络应用

2009-07-14 17:18:23

JDBC怎么连接数据库

2012-09-20 09:43:37

SSIS

2010-06-09 15:01:18

MySQL数据库同步

2010-05-12 18:41:34

MySQL数据库

2010-05-07 13:14:22

数据库负载均衡

2010-06-09 17:36:45

MySQL数据库同步

2020-05-10 16:36:08

存储数据库内存

2021-04-02 11:23:01

云计算数据库云应用
点赞
收藏

51CTO技术栈公众号