Encontré una declaración de problema que requiere capacidades de sincronización sin conexión para la aplicación. En este escenario, el usuario completaría los datos en las hojas provistas y puede o no tener red disponible. Cada vez que entra en la red, el cliente debe sincronizar los datos. Puede haber dos tipos de servidor, uno es un servidor satelital que sería almacenamiento temporal o preparación para la hoja de datos completada, esto podría estar en Internet o en una intranet, por lo que, como primer paso, el cliente enviaría los datos a este servidor y luego habría servidor en la nube en Azure o AWS, que sería la última fuente de verdad y los datos finalmente se sincronizarían aquí.
La aplicación estará en MEAN Stack y dado que NoSql no sigue las propiedades ACID, ¿cómo puedo asegurar la integridad de los datos en el mundo NoSql? En otras palabras, ¿cómo me aseguro de que cada vez que se produzca la sincronización se produzca en el punto de control determinado y, si no es así, se revierta? El volumen de datos va a ser enorme ya que es una aplicación empresarial.
Además, el db de sofá o el db de bolsa o cualquier otro db no es una opción. Será mongo o DocumentDB de Azure.
¿Es posible que diseñe el esquema de tal manera que todas las partes relacionadas estén en un documento, como ' MongoDB es compatible con ACID a nivel de documento '? Puede usar la preocupación de escritura para especificar el grado de coherencia (consulte '¿MongoDB admite transacciones ACID?').