Atlas Device Sync sincroniza automáticamente los datos entre las aplicaciones cliente y un Servicios de aplicaciones Atlas. Cuando un dispositivo cliente está conectado, Sync sincroniza los datos de forma asincrónica en un hilo en segundo plano entre el dispositivo y la aplicación de backend.
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. Realm 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 formular consultas usando el Realm Query Language o LINQ.
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. Puedes tener varias suscripciones si tienes varios tipos de objetos de dominio.
Para usar la Sincronización Flexible 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.
Tip
Device Sync admite dos modos de sincronización: sincronización flexible y la sincronización basada en particiones, que es más antigua. Si tu backend de App Services utiliza la sincronización basada en particiones, consulta el SDK de .NET para la sincronización basada en particiones.
Recomendamos utilizar Flexible Sync.
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
Un caso especial de sincronización flexible es cuando necesitas que tu aplicación envíe datos a Atlas, pero no reciba ninguna actualización.
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.