案例3 减轻源库压力的据实时同步
高校C随着信息化建设程度的日益深入,各式各样的分析型应用、微应用、微服务的建设,对人员数据的实时性要求越来越高,但采用传统的高实时方案对源库的性能已造成较大影响,影响了实际业务的正常运行。

要解决性能影响的问题,首先要减少对源业务库直接的访问。我们去掉从数据交换平台到源库的访问,所有的交换平台的访问都基于数据中心的数据仓库。第二步减少触发操作对于源库的性能影响。之前采用ODI的CDC方式,这种方式如果说业务数据的变化情况比较频繁,对源库的性能影响是比较高的。第三步是既然没有用触发的方式实现数据增长交换,这个空缺由谁进行补充呢?我们采用的方案是使用基于日志的存量交换方式就是OGG。

OGG是一种基于日志进行结构化数据和备份的软件,通过解析数据库的在线日志或者归档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数据库的同步。具体实现过程及优劣势见下图。

OGG与传统的ETL方式,数据转换的差异。OGG方式是基于配置文件,传统ETL是通过SQL语句。OGG配置较繁琐,且对于复杂映射及转换,甚至需要通过配合触发器实现。

回顾
实际上数据的实时性并不是越高越好,实时性越高势必会造成对源系统入侵性的增加,或者是对源库运维压力的加大,再有可能是对源库的性能造成一定影响。所以我们在选择使用数据交换的时候,应该在最大限度满足业务场景要求的前提下,综合考虑数据的体量,变化频率,基础环境、成本等因素,给出具体适用于特定场景的解决方案,最终能解决实际问题的方案都是好方案,不必一味追求高实时性。

实现数据实时交换的解决方案和具体的方法