首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何同步两个数百万行、不同列结构的不同数据库

如何同步两个数百万行、不同列结构的不同数据库
EN

Stack Overflow用户
提问于 2019-04-11 18:50:17
回答 1查看 168关注 0票数 0

我在两个不同的数据库(一个是Oracle,另一个是Postgresql)之间的数据库synchronization有一些问题,这两个数据库位于两个不同的位置(即两个不同的物理位置或地理位置),并且平均网速将在1Mb/s左右。

这就是问题所在,假设我有以下表格:

Oracle DB内的

  1. tableORC (此表包含字面上的百万行)和Postgresql DB内的
  2. tablePG(此表包含字面上的几十万行)

这两个表(在不同的数据库中)将具有不同的列结构,下面是这些表的结构:

tableORC

代码语言:javascript
复制
+-----------------+-------------+--+--+--+
| serial_26_chars | description |  |  |  |
+-----------------+-------------+--+--+--+
|                 |             |  |  |  |
+-----------------+-------------+--+--+--+

tablePG

代码语言:javascript
复制
+----+------+--+--+--+
| id | desc |  |  |  |
+----+------+--+--+--+
|    |      |  |  |  |
+----+------+--+--+--+

tableORC总是会从许多应用程序/应用程序接口中获得time-series更改,即几乎每秒都会在tableORC上执行CRUD操作,我的目标是使tablePG始终与tableORC保持同步,即:

  1. 如果一个serial_26_chars行最初存在,但随后获得并删除了,则与serial_26_chars具有相同值的id也将从tablePG中删除。如果在一行上获得了E142更新了E243,则相应D45的D44也将从D46更新。如果某个D49行最初获得了新的E150创建了E251,则与D54相同值的D52也将在D54上新创建。如果一个D49最初获得了新创建的E251,则将在D54上新创建与D53具有相同值的D52。H148如果某行最初获得了新的E150,则将在D54上新建与D53相同值的D52。如果

H140H148最初获得新的E150,则将在D54上新创建与D53相同值的D52。

考虑一下,在一秒钟内,在tableORC上有几千个的CRUD操作,我希望与tablePG的同步在互联网上(不同的服务器位置)在几秒钟内发生。

供您参考,tableORC托管在企业级服务器上,而tablePG托管在消费级标准台式pc上。

那么如何解决这个问题呢?你能给我一些解决这类问题的方法吗?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2019-04-12 00:02:44

您必须在postgres服务器中实现web服务才能进行更新更改。

第一个选项:对于来自oracle服务器的每个操作,第二个选项:每天查看一次oracle服务器中的重做日志更改。

您可以在oracle服务器中使用诸如Pentaho data Integration之类的东西来查阅数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55630717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档