数据同步系统

1      概念

l  数据节点

一个数据库实例称为一个数据节点,简称节点。数据库不限于关系数据库。

数据同步是在数据节点之间进行。

同步是节点表之间的数据的提取,转换,写入过程。

数据在节点之间的同步,不要求强一致性,只需要保证最终一致性。

数据节点标识,命名,存储:对每个数据节点,全局唯一dsid编码和唯一的uname,所有数据节点的信息保存在平台t_sys_db表中。

dsid仅内部使用,配置等均采用uname.如主站11的uname为site11。

数据库分类:

数据库分类是用于区分不同的数据库模式。相同类型的数据库实例,数据库模式(结构)相同,如多个主站数据库。

用分类标记(tag)标识。

l  同步方案

同步方案定义2种数据库之间同步操作的具体内容,即对同步目标在源的事件代理存储的事件队列记录的处理方式。

同步任务命名:[源数据库tag]2[目标数据库tag]

例如,site2dc任务,表示从主站到平台进行同步。

l  同步任务

同步任务在具体2个节点执行的同步方案,保存在平台t_sys_dstask表中。

l  同步程序

同步程序是执行同步任务实例的后台进程,一个同步程序可以配置处理指定同步任务实例。

可以部署多个同步程序。把多个同步任务实例分配到不同的进程上。

一个同步任务实例只能由一个同步程序处理。(一个事件只能有一个处理者)

2      特性

实现局域网环境内各个关系数据库之间的数据同步。

特性有:

l  基于事件:应用改变数据时以事件对外通知,同步系统捕获事件并处理

l  基于对象:事件是关于一个或多个对象的,保证数据的完整性。最常见的情形是一次同步一个对象,如对于订单,一次同步一张订单,订单信息包括主表和明细表。

l  支持异构数据库:如从SQL Server同步到PostgreSQL数据库

l  自动执行

3      系统结构

 

l 事件产生后由各目标数据源的代理捕获,再由对应的事件引擎处理

l 结构和配置简化:统一配置

数据同步服务的逻辑结构如下图所示:


猜你喜欢

转载自blog.csdn.net/wherwh/article/details/80629800
今日推荐