搭建ODS的几套解决方案对比

公司业务,想要搭建一个医院的ODS服务器:将医院不同厂家的不同数据库版本数据库类型整到一台服务器中,最初想要是同步数据库原生同步机制,最理想的是sqlserver发布订阅,但是后来发现发布订阅不能发布无主键表,所以有了接下来的ODS方案研究

搭建ODS实现数据库同步

开始的时候使用sqlserver本身的发布订阅机制,但是后来,发现他不能订阅没有主键的表,而医院数据库中没有主键的表还挺多的,所有这里需要找到解决不能同步无主键表同步的问题,或者是另一个数据库同步机制

我这里提供三个解决方案:

一:kettle+发布订阅

                Kettle不是基于日志,所有如果无主键表很大,速度上会有问题,100万数据,1min,一张表

二:AlwaysOn(2012才有)

                搭建起来很麻烦,且2012才有

三:日志传送

                https://docs.microsoft.com/zh-cn/sql/database-engine/log-shipping/about-log-shipping-sql-server?view=sql-server-2017

http://www.cnblogs.com/chenmh/p/3671030.html

https://www.cnblogs.com/maximo/p/5455041.html

这里配置共享文件时报的不能访问指定共享文件夹的问,弄得很久,对照第三个链接稳稳的没问题:可悲的是备份库不可读

 

               

四:镜像

                副本不能用

五:Beedup(卖license)

            基于日志,完美,但收费,5万一家客户

六:Golden gate(卖license)

            https://www.oracle.com/technetwork/cn/articles/datawarehouse/oracle-sqlserver-goldengate-1396114-zhs.html

            基于日志,完美,但收费,10万一家客户

七:阿里开源otter (mysql,Oracle)

https://github.com/alibaba/otter/wiki/Introduction

mysql -> mysql/oracle. (目前开源版本只支持mysql增量,目标库可以是mysql或者oracle,取决于canal的功能)

Shareplex replication

                基于数据库日志,收费

原文地址:https://www.cnblogs.com/xiaoping1993/p/10578555.html