如何针对不同的应用选择不同的产品,需要我们必须清楚数据库同步和数据库复制的具体含义。
无论概念如何定义,我们都必须清楚,这两种操作的基础是数据库中的数据,但是包含的数据内容却有所不同
数据库同步,顾名思义,就是把数据中的交易数据(包含更改的数据以及相关的DDL数据描述语句)实时的同步到另外一个数据库;而数据库复制则针对的是数据库中的数据,同时他对实时性要求不高,重点关注的是某一时间点的数据一致性,同时也不需要同步DDL语句,只要把数据同步过去就可以了。
综上所述,数据库复制只是对某一时刻的数据的同步,而不是数据库同步那样的实时同步,并且不包含DDL语句同步。
现在市场上有很多复制产品,比如VARITAS、LEGATO、SYMANTEC、EMC 、IBM等阵列厂商都有各自的备份复制产品,都满足定期备份数据;而数据库同步产品则独立于硬件厂商,都是通过数据库日志的技术来达到数据同步,比如ORACLE、QUEST、WOXINTECH等厂家,他们都是通过软件来捕捉数据库改变来达到数据同步的目的。
但是这些产品如何能满足我们的系统需求呢?我们要从应用的目标来进行分析就很容易选择了。
目前的应用主要分为5类:
1、 双机热备:由于数据库只有一份,数据做冗余,那么硬件厂家的产品更满足
2、 异地容灾:对于大企业来说,采用硬件厂家的复制产品+软件同步产品是个最佳选择;对于中小企业来说,软件同步产品应该更加合适,带宽和硬件等成本最低
3、 负载分担:这类应用需要让备库能够实时查询,分担主数据库查询的压力,所以对实时要求最高,当主库产生一笔交易,必须实时能在备库进行查询,所以必须选择实时同步软件
4、 数据分发/集中:这类应用一般是总/分公司模式,有些计划数据必须能从总部传到分公司,同时分公司也会将生产情况传回总部,这类需求一般对实时性要求不是很高,一般每天传一次,所以目前很多系统通过自己的应用系统产生文件之后进行定时FTP发送,当然通过数据库同步软件也可以达到此目的,不过企业需要考虑成本问题
5、 重要数据实时安全查询系统VIDRSQS(Very Important Data Realtime Safety Query System):目前这类应用已经大范围开展,主要集中在政府政务公开、医疗卫生系统、社保、商保系统,这类系统的最大特点是,需要实时同步交易系统的某些数据,并且这些数据能够对敏感信息进行过滤,从而达到实时公开的效果,这也是目前同步复制软件正在经历的新功能,不但要求对OWNER、TABLE甚至对字段都能够进行过滤和操作
通过以上的分析,大家可以看到,数据库同步和数据库复制还是有很多区别的,同时对应的产品也很多,只有仔细分辨,认真把握,才能在众多的产品中找到最合适的,保证性假比最高,同时又能够最大限度满足需求。