关于不同类型数据库之间同步数据问题,谢谢!

1.公司基本每个项目都或多或少的遇到问别人取数据,或者把公司的数据提供给别人的情况。

2.现在的做法是

  • 1.别人提供给我们数据时:

    • 我们写一个接口,供别人调用,往我们数据库中插入数据

    • 别人将视图开放给我们,我们用程序定时去读视图,并插入到我们自己的数据库

  • 2.我们提供给别人数据时:

    • 我们提供视图

    • 别人写好接口,我们去调用,往别人数据库中插入数据

3.做了一些同步程序后,我发现每次遇到同步数据的时候

  • 每次要自己写接口很麻烦

  • 如果遇上 比如断电了,比如同步过程中程序异常,数据库异常等一些状况,又需要重新同步,或者从上次异常的地方开始同步(但是程序中基本没考虑进去,感觉太麻烦了)

  • 如果只是定时读取感觉实时性不高

  • 如果对方提供的表中有图片数据,有可能是把图片存在数据库里的,但更多的是把图片路径存在数据库里,如果是前者的话该如何同步,如果是后者的话是不是要自己写一个专门同步图片的程序,去从对方服务器上下载图片?

4.所以我想问下大家有什么好的办法解决这样的问题,或者用哪些已有的成熟的数据库同步技术,能解决上述同步过程中遇到的问题。数据库类型会出现不一致的情况,可能是mysql--->oracle 可能是sqlserver--->oracle等等。

谢谢!

阅读 7.1k
3 个回答

没什么好办法,只想到一个,写一个中间件,主动对比两边数据,然后差异同步

也许etl可以解决你的问题

新手上路,请多包涵

写个好用的同步程序跟接口,数据格式定义清晰,没啥好的办法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题