我在两个不同的数据库(一个是Oracle,另一个是Postgresql)之间的数据库synchronization有一些问题,这两个数据库位于两个不同的位置(即两个不同的物理位置或地理位置),并且平均网速将在1Mb/s左右。
这就是问题所在,假设我有以下表格:
Oracle DB内的
这两个表(在不同的数据库中)将具有不同的列结构,下面是这些表的结构:
tableORC
+-----------------+-------------+--+--+--+
| serial_26_chars | description | | | |
+-----------------+-------------+--+--+--+
| | | | | |
+-----------------+-------------+--+--+--+
tablePG
+----+------+--+--+--+
| id | desc | | | |
+----+------+--+--+--+
| | | | | |
+----+------+--+--+--+
tableORC
总是会从许多应用程序/应用程序接口中获得time-series
更改,即几乎每秒都会在tableORC
上执行CRUD操作,我的目标是使tablePG
始终与tableORC
保持同步,即:
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上。
那么如何解决这个问题呢?你能给我一些解决这类问题的方法吗?
谢谢。
发布于 2019-04-12 00:02:44
您必须在postgres服务器中实现web服务才能进行更新更改。
第一个选项:对于来自oracle服务器的每个操作,第二个选项:每天查看一次oracle服务器中的重做日志更改。
您可以在oracle服务器中使用诸如Pentaho data Integration之类的东西来查阅数据。
https://stackoverflow.com/questions/55630717
复制相似问题