NoSql 与远程服务器离线同步

NoSql Offline sync with remote server

我遇到了一个问题陈述,它要求应用程序具有离线同步功能。在这种情况下,用户将在提供的 sheet 中填写数据,并且可能有也可能没有可用的网络。每当他进入网络时,客户端都应该同步数据。可以有两种类型的服务器,一种是卫星服务器,它可以临时存储或临时存储 sheet 中填写的数据,这可能在互联网或内部网上,因此客户端第一步会将数据推送到该服务器,然后然后Azure或AWS中的云服务器将成为最终的真相来源,数据最终将在这里同步。

该应用程序将在 MEAN Stack 中,并且由于 NoSql 不遵循 ACID 属性,我将如何确保 NoSql 世界中的数据完整性。换句话说,我如何确保每次同步发生时它都发生在某个检查点上,如果没有发生,那么它会回滚?因为是企业应用,所以数据量会很大

沙发数据库或袋数据库或任何其他数据库也不是一个选项。它要么是 mongo 要么是 Azure 的 DocumentDB。

您是否可以将所有相关部分都放在一个文档中来设计架构,如'MongoDB is ACID-compilant at the document level'. You can use write concern to specify the degree of consistency(参见'Does MongoDB support ACID transactions?')。