Si tiene una aplicación móvil o cliente que genera un gran volumen de datos y desea transmitirlos a MongoDB Atlas, puede sincronizar los datos unidireccionalmente mediante Sincronización de Dispositivos. Esta función se denomina Ingesta de Datos.
Es posible que desee sincronizar datos unidireccionalmente en aplicaciones de IoT, como un sensor meteorológico que envía datos a la nube. La ingesta de datos también es útil para escribir otros tipos de datos inmutables donde no se requiere resolución de conflictos, como la creación de facturas desde una aplicación de comercio electrónico o el registro de eventos de la aplicación.
La ingesta de datos está optimizada para ofrecer mejoras de rendimiento en cargas de trabajo intensivas de solo inserción del lado del cliente. No se pueden leer estos datos desde el dominio donde se transmiten.
Actualmente, Data Ingest está disponible solo para los siguientes SDK de Realm:
SDK de C++
Kit de desarrollo de software .NET
Kotlin SDK
Node.js SDK
SDK de React Native
Kit de desarrollo de software de Swift
Siga estos pasos de alto nivel para comenzar:
Configurar Atlas Access
Crear una aplicación de Atlas App Services
La aplicación App Services es la puerta de enlace que permite que su dispositivo cliente se conecte a MongoDB Atlas. Al crear una aplicación, le asigna un nombre, la vincula a un clúster de Atlas y especifica el modelo y la región de implementación más adecuados para su aplicación.
Para saber cómo crear una aplicación de App Services,consulte Crear una aplicación.
Configurar la sincronización del dispositivo y la ingesta de datos
Device Sync es el servicio que sincroniza los datos con Atlas y entre los dispositivos de sus clientes. Device Sync, junto con los SDK de Realm, gestiona automáticamente la conectividad de red, los permisos de usuario y la resolución de conflictos. La aplicación App Services proporciona la autenticación de usuario integrada que Device Sync y los SDK de Realm utilizan para proteger sus datos.
Al configurar Device Sync, especifica la fuente de datos a la que pueden acceder los dispositivos cliente, así como los permisos que determinan qué datos puede escribir un usuario.
Puede configurar la Sincronización de Dispositivos mediante la interfaz de usuario de Atlas, la interfaz de línea de comandos de los Servicios de Aplicaciones de Atlas o la API de administración de los Servicios de Aplicaciones. La primera vez que configure la Sincronización de Dispositivos, puede resultarle útil usar la interfaz de usuario de Atlas, ya que proporciona enlaces e información sobre diversas configuraciones y opciones.
Para habilitar la ingesta de datos para una o más colecciones, seleccione la colección o las colecciones en el Advanced Configuration Sección de la configuración de sincronización de dispositivos. Solo las colecciones con un esquema de servicios de aplicaciones están disponibles para seleccionar en este menú desplegable.
Si aún no ha creado un esquema para la colección que desea sincronizar de forma unidireccional, puede:
Genera un esquema de App Services a partir del modelo de objetos Realm. Consulta: Crea un esquema de App Services a partir de un modelo de objetos Realm.
Cree manualmente un esquema de App Services. Para obtener más información, consulte: Definir y aplicar un esquema.
Habilitar un proveedor de autenticación
Sus dispositivos cliente deben autenticarse para acceder a los datos sincronizados. App Services ofrece varios proveedores de autenticación, como correo electrónico/contraseña o autenticación anónima, para que sus usuarios puedan autenticarse. Configure uno o más de estos proveedores para habilitar la autenticación en su aplicación cliente.
Puede configurar proveedores de autenticación dentro de la interfaz de usuario de App Services Authentication seleccionando en el menú de navegación izquierdo y, a continuación, haciendo clic en un proveedor para configurarlo. También puede configurar proveedores de autenticación editando la configuración de App Services con la interfaz de línea de comandos de Atlas App Services o con API de administración de servicios de aplicaciones.
Agregar sincronización a la aplicación cliente
Después de esto, tendrás todo lo que necesitas configurado en el lado de Atlas y podrás preparar tu aplicación cliente para sincronizar datos de forma unidireccional.
Conectar el cliente a un backend de App Services
En el código de la aplicación cliente, inicialice un cliente de aplicación para conectarlo al backend de App Services. Esto le permite usar funciones de App Services como la autenticación y abrir un dominio sincronizado.
Abrir un reino sincronizado
Una vez que tenga un usuario autenticado, puede abrir una instancia sincronizada de Realm Database para usarla con ese usuario. Dado que la sincronización asimétrica es de solo escritura, no puede definir una consulta de sincronización flexible para leer datos en el dispositivo. Esto difiere de la sincronización flexible bidireccional, donde se crea una suscripción de consulta para determinar qué datos sincronizar con el dispositivo.
Crear objetos asimétricos y escribir datos
Los SDK de Realm proporcionan un tipo especial de objeto para la ingesta de datos: un objeto asimétrico. Consulte la documentación del SDK de Realm para obtener más información sobre cómo definir objetos asimétricos.
Cree y escriba objetos asimétricos en un dominio sincronizado. Los SDK de dominio utilizan Device Sync para gestionar la transmisión automática de datos. Cuando el dispositivo tiene conexión de red, los SDK transmiten datos al backend de App Services y a Atlas. Si el dispositivo no tiene conexión de red, los datos se almacenan en él y se cargan automáticamente al restablecerse la conexión.
Atlas Device Sync gestiona completamente el ciclo de vida de estos datos. Se mantiene en el dispositivo hasta que la sincronización de Data Ingest se completa y luego se elimina del dispositivo.