Atlas Device Sync sincroniza automáticamente los datos entre las aplicaciones cliente y un Servicios deaplicaciones backend. Cuando un dispositivo cliente está en línea, Sync sincroniza asincrónicamente los datos en un hilo en segundo plano entre el dispositivo y la aplicación backend.
Al usar Sync en su aplicación cliente, su implementación debe coincidir con el modo de sincronización seleccionado en la configuración de la aplicación backend. El SDK de Realm C++ solo admite la sincronización flexible.
Sincronización flexible
Al seleccionar la Sincronización Flexible para la configuración de la aplicación backend, la implementación del cliente debe incluir suscripciones a consultas en campos consultables. La Sincronización Flexible funciona sincronizando los datos que coinciden con las suscripciones a consultas que mantiene en la aplicación cliente.
Un conjunto de suscripciones contiene un conjunto de consultas. Flexible Sync devuelve los documentos que coinciden con dichas consultas, siempre que el usuario tenga los permisos necesarios para leerlos o escribirlos. Si los documentos coinciden con la consulta, pero el cliente no tiene permiso para leerlos o escribirlos, no se sincronizan con la aplicación cliente.
Puede realizar consultas utilizando el lenguaje de consulta Realm.
Nota
Flexible Sync no es compatible con todos los operadores de consulta disponibles en el lenguaje de consulta Realm ni con el motor de consultas del SDK. Consulte las limitaciones de Flexible Sync RQL para obtener más información.
Los conjuntos de suscripciones se basan en un tipo específico de objeto de dominio. Es posible que tenga varias suscripciones si tiene varios tipos de objetos de dominio.
Para usar la Sincronización de dispositivos en su aplicación cliente, abra un dominio sincronizado con una configuración de Sincronización flexible. A continuación, administre las suscripciones para determinar qué documentos sincronizar. Para obtener más información, consulte Administrar suscripciones de sincronización - SDK de C++.
Actualizaciones de grupo para un mejor rendimiento
Cada transacción de escritura para un conjunto de suscripciones tiene un coste de rendimiento. Si necesita realizar varias actualizaciones a un objeto de Realm durante una sesión, considere mantener los objetos editados en memoria hasta que se completen todos los cambios. Esto mejora el rendimiento de la sincronización al escribir solo el objeto completo y actualizado en su reino, en lugar de cada cambio.
Sincronización unidireccional
Device Sync admite la capacidad de enviar datos a Atlas, pero no recibir actualizaciones.
En este escenario, puede maximizar el rendimiento de la sincronización mediante la ingesta de datos para transmitir datos desde la aplicación cliente a una aplicación Atlas App Services habilitada para sincronización flexible.