保持两个不同的数据库同步

时间:2018-08-22 12:52:58

标签: sql-server postgresql etl

我正在建模一个新的微服务架构,该架构将单片软件的某些部分迁移到微服务。

我正在添加一个新的PostgreSQL数据库,这个想法是将来使用该数据库,但是现在,我仍然需要保持更新旧的SQL Server数据库,并且如果旧数据库中出现新内容,还需要同步PostgreSQL数据库。

enter image description here

我已经搜索了ETL工具,但目的是将数据移至数据仓库(这不是我所需要的)。我只是不能复制信息,因为数据库模型不同。

基本上,我需要一种方法来检测SQL Server数据库中插入的新行,转换该信息并将其插入到我的PostgreSQL中。

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

看看StreamSets数据收集器。它可以检测SQL Server中的更改并将其插入/更新/删除到具有JDBC驱动程序(包括Postgres)的任何数据库中。它是开源的,但您可以购买支持。您还可以对数据流进行字段更改/添加/删除/重命名,以使字段与目标表匹配。

答案 1 :(得分:0)

PostgreSQL's foreign data wrappers可能会有用。我的方法是,将前端更改为使用PostgreSQL,并让postgreSQL通过其各种功能(触发,规则等)来处理拆分。