由于业务的需要,数据库数据通常需要共享给其它数据库,解决数据共享的基本方法是数据复制。提供数据的库称为主点、接受数据的库称为从点。数据复制的形式一般是增量复制。

数据复制有两种方法可以选择。1)数据库复制系统;2)数据传递中间件ISFRAME DC

数据库复制系统

对于每次数据量很小的数据,我们一般采用数据库复制系统。因为它具有快速和轻量级的特点。以上特点得益于其机理是复制跟踪数据库“操作日志”。大家都知道,数据库具有回滚的能力,是应为数据每个增删改操作都会记录日志,一旦操作中途出错,数据库就会根据日志,将操作回滚。复制系统就是将主点增删改的日志读入复制队列中,到从点执行之。从而达到数据同步的效果。

151838976.jpg

数据复制 1

复制系统的优点

及时性,因为复制系统是日志触发的,一旦增删改操作完成后,日志马上会进入复制流程,所以相对及时。

轻量级操作,是因为它搬运的是主点数据库操作日志。复制工程中,不操作主点业务数据。

复制系统的不足

不适合复制大批量数据的操作。如果有大批量数据操作,被压入复制队列,复制系统可能会出现问题;频繁的大数据操作,如果导致从点缓慢等原因,造成复制队列拥堵,连锁反应就是数据日志空间紧张,继而使数据库面临崩溃。另外复制大批量数据,必然抹煞了复制系统及时性的特性。

不具备任务可追溯性。如果因为各种原因造成了复制失败,系统不能够定位是哪个操作没有复制成功。所以,一旦出现问题,一般是全表同步一次。

数据传递系统 DCData Circulation

ISFRAME DC 脱胎于业务系统。所以它不是系统底层的操作。它的功能很多,这里,我们单纯讨论数据同步的部分。DC将数据同步分为三个模式,线性增长型,增长、更改型,删除型。线性增长型, DC根据线性字段(如时间、批次)跟踪增量;对增长、修改型,DC查看主点的同步标志位;对于删除型,DC需要设置删除中间件表的方式。根据以上业务数据的标示状态,DC将数据搬运到从点,并在从点执行插入、替换、删除操作。

151921435.jpg

数据复制2

DC的优点

适合任意大小批量数据的传输。DC可以复制大批量的数据,如百万行的记录,G字节的数据。不会造成队列拥堵现象,原因是DC没有数据队列,它是以任务为单元的传递,没有复杂的队列管理,所以不会拥堵。

任务具有可追溯性,因为DC对数据同步有我们可以看到的线性指针、同步标示和删除中间表。所以对任务的状态一目了然,通过修改线性指针和同步标志,可以轻松实现任务的重新发起。

DC具有跨不同数据库复制的能力,甚至可以由文件复制到数据库、数据库复制到文件、文件复制到文件等功能。另外DC在复制数据的同时,可以触发后续的业务操作。

DC的不足

DC不是系统级的工具,是业务级的工具,与复制相比,有失及时性,DC的任务靠业务触发可以做到及时,如果靠轮询,则一般会延长10秒或以上。所以我们称DC为准实时。

DC对删除操作,需要有删除中间表。即主点业务将要删除的内容设置为删除标志,或移入删除中间件表中,由DC将删除动作同步到从点后,DC负责真正的删除。

    通过以上分析,面向系统的复制系统和面向业务数据的ISFRAME DC 各有千秋,各自有各自的应用场景。