两个数据库之间的移动同步框架

Mobile synchronization framework between two databases


我正在构建一个移动应用程序,我已经到了需要处理我的移动应用程序和中央服务器之间的数据同步的地步。

我一直在研究移动同步框架(比如 Amazon Cognito, Google Firebase, Couchbase Mobile, Red Hat Data Sync Framework),但我不确定该使用哪一个!!! :(

我需要使用户数据(存储在设备内的本地数据库中,如 SQLite)与其在中央服务器中的数据(存储在服务器内的本地数据库中,如 PostgreSQL)保持同步。有点像数据库synchronization/replication.

我一直在尝试使用 Cognito:
我已经设法测试了它的一些示例应用程序,阅读了一些文档,并查看了一些示例,但我还没有找到任何示例,有关如何在我的两个数据库之间复制数据的指南或教程。甚至,在 Cognito 的配置中,我找不到任何指向我选择的数据库连接的部分或配置。
因此,现在我不确定是否可以使用 Cognito 来实现。

您有什么想法 famework/API 推荐我使用吗???
有什么想法可以解决或实施此问题的解决方案吗???
或者我是否必须在设备端和服务器端进行一些额外的编程,有点像"catch"这个数据并将其存储在其对应的数据库中???

这完全可以通过 Cognito sync 实现,有两种方法可以做到这一点。一种方法是 Cognito events, which lets you get any dataset update in a lambda function, with which you can do whatever you please. The other is twofold: Cognito streams, which puts every sync update into a kinesis stream to consume as you please (see the blog post 对于端到端示例)和批量发布 API,它将每条记录立即放入运动流中以供临时使用。