java - 通过不稳定的网络同步本地数据库和远程应用程序

标签 java mysql sql postgresql network-programming

我需要将本地 PostgreSQL 数据库同步到远程应用程序。

我们有一个用于现场服务管理的设备。该设备收集所有类型的数据并将其存储在本地 PostgreSQL 数据库中。该数据需要传输到远程应用程序(最好是实时的)。不幸的是,大多数时候我们没有静态互联网连接(主要是 2G/GSM)。

我尝试使用 SOAP Web 服务并单独传输每一行。好处是我得到了结果,如果复制了集合/行,我还可以在本地存储。

不过,这种方法似乎有很多开销,因此我正在寻找更好的方法来做到这一点。我不介意直接使用其他技术、不同的库或 SQL 语句,但它需要在 JAVA 中完成。

任何意见都将受到高度赞赏。

最佳答案

我正在使用SymmetricDS用于数据库复制。它支持异构模式定义并且非常可靠。它是用 Java 编写的,您可以将其嵌入到您的应用程序中使用。

引自 faqs :

Does replication require a fast network connection?

No, the network connection can be slow and even unreliable for periods of time. SymmetricDS makes efficient use of the network with low overhead, batching of data, and data compression. It is designed to withstand periods of network outage by tracking changes that were unsuccessful and retrying.

我建议你看看它的 Quick Start Guide概述。

关于java - 通过不稳定的网络同步本地数据库和远程应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47462814/

相关文章:

sql - Oracle PLS-00103 错误。您如何检查现有记录并根据该条件进行更新或插入?

重新加载Tomcat时出现java.lang.IllegalStateException

java - 在mysql日期时间上触发java函数

php - 在表格行中找到一个值,如果存在,则更新它

sql - 存储库模式困境 : Redundant Queries vs. 数据库往返

php - MySQL "lock"一个表条目

java - 如何在 Spring Boot 应用程序中使用多个 mongodb 数据库?

java - 数组列表的总和

java maven 缺少 plexus-utils 的插件描述符

php - 需要有关数据库设计和表结构的建议