我想找出解决以下问题的最佳办法:
我需要一个软件数据库。软件需要使用数据填充UI,并允许用户与其交互(编辑、添加、删除等)。该软件有多个实例(桌面、移动、另一个桌面等),所有这些实例都与相同的数据链接到同一个帐户。
我需要一种在实例之间建立最新数据库的方法。一种方法是在云上拥有数据,然后让软件将数据拉/推到云上,并维护自己的本地数据库。
在这个行业里,有关于如何做这种事情的惯例吗?我使用的是AWS,我考虑的是DynamoDB或传统的SQL数据库。
发布于 2021-06-10 12:24:40
这被称为"分布式数据库",要做好它是非常困难的。对于几乎所有的情况,您应该在云中有一个数据库,让所有的应用程序通过API以正常的方式使用它。
如果您必须支持断开连接的操作,则可能需要一个分布式数据库。例如,如果您的一个客户端断开了一段时间的网格,则需要进行更改,然后重新连接。
但接下来您将面临一个核心问题:如果两个客户端脱离网格,同时对相同的数据进行不同的更改,该怎么办?
处理这一问题的技术的最新进展是无冲突复制数据类型。。
为此滚动您自己的技术可能会为您的项目增加一年时间,并且至少会给您带来一个重大的数据丢失事件。
https://softwareengineering.stackexchange.com/questions/429199
复制相似问题