Desde el primer lanzamiento oficial en 2014, Couchbase Móvil ha permitido una amplia variedad de casos de uso de diferentes grados de escala y complejidad. A pesar de la variación, hay algunos patrones de uso comunes para utilizar Couchbase Mobile.
He elaborado una serie de entradas de blog que cubren algunos patrones de uso comunes y consejos y prácticas recomendadas para abordar estos casos de uso. En esta entrada del blog, hablamos de patrones comunes si estás desarrollando aplicaciones con Couchbase Lite. Este post asume que estás familiarizado con los fundamentos de Couchbase Mobile. Si necesitas una introducción, consulta la documentación en Couchbase Lite.
Patrón 1: Manejo de grandes volúmenes de datos públicos no específicos de los usuarios

Con el soporte de Couchbase Lite para pre-construido puede precargar la aplicación con datos en lugar de sincronizarlos desde Sync Gateway durante el inicio.
Caso práctico
Evitar la sincronización inicial ayudará a reducir el tiempo de arranque y los costes de transferencia de red. Esto suele aplicarse a los datos públicos/compartidos, no específicos del usuario, que son en su mayoría estáticos. Incluso si los datos no son estáticos, puedes aprovechar las ventajas de precargar los datos y sincronizar los cambios sólo al inicio.
Acérquese a
-
- Crear un sin cifrar copia de la base de datos .cblite con los datos pertinentes. Hay dos opciones para crear una base de datos .cblite
- Utiliza una aplicación basada en Couchbase Lite para extraer datos relevantes a través de Sync Gateway. Esto creará una instancia de
cblite(con extensión .cblite2). La ubicación del archivo generado es específica de cada plataforma y puede obtenerse en la páginaConfiguración de la base de datosobjeto. - Utiliza el código abierto, couchbaselabs cblite herramienta. Esta herramienta permite cargar datos de diversas fuentes.
- Utiliza una aplicación basada en Couchbase Lite para extraer datos relevantes a través de Sync Gateway. Esto creará una instancia de
- Carga el .cblite en la aplicación de dos maneras. Tienes dos opciones
- La primera opción es empaquetar el archivo .cblite2 con la aplicación.
- La segunda opción es alojar el archivo .cblite en una CDN desde la que los clientes puedan recuperarlo al iniciarse. Aunque sigue existiendo el coste de descargar el archivo de base de datos, habrá un ahorro considerable en costes de ancho de banda y latencia al entregarlo desde una CDN.
- Una vez cargado, siga los pasos para copiar() el archivo .cblite2 incluido en la aplicación. Esto creará una instancia de la base de datos única para el cliente
- Crear un sin cifrar copia de la base de datos .cblite con los datos pertinentes. Hay dos opciones para crear una base de datos .cblite
Patrón 2: Segregación de datos locales del cliente y datos sincronizados

Puedes soportar múltiples instancias de Couchbase Lite dentro de tu aplicación. Aunque no hay límites estrictos en cuanto al número de instancias de bases de datos, hay límites y restricciones prácticas, por ejemplo, no puedes hacer uniones entre bases de datos.
Caso práctico
Un caso de uso común de tener múltiples bases de datos dentro de la aplicación es segregar los datos que son locales sólo para el cliente en una instancia de base de datos separada del resto de los datos. Existen otras formas de aplicar restricciones locales, como veremos más adelante en otro patrón. Sin embargo, la segregación de datos permitiría a las aplicaciones aplicar el control de acceso a nivel de base de datos y garantizar que las consultas y las operaciones de base de datos se realicen a nivel de base de datos. Por ejemplo, se puede eliminar la base de datos local sin afectar al resto de los datos sincronizados.
Acérquese a
-
- Crear una instancia de base de datos Couchbase Lite para datos sólo locales. La base de datos puede crearse o copiarse desde una copia de base de datos precompilada.
- No configure ningún replicador para la base de datos local.
Modelo 3: Aplicación multiusuario

Las aplicaciones con Couchbase Lite pueden soportar múltiples usuarios. Este es otro patrón que se habilita con la capacidad de soportar múltiples instancias de Couchbase Lite dentro de tu aplicación. Las aplicaciones multiusuario imponen requisitos estrictos sobre la segregación de datos y el control de acceso a los datos para garantizar que los usuarios no accedan deliberada o inadvertidamente a los datos de los demás.
Caso práctico
Las aplicaciones multiusuario son habituales, sobre todo cuando se comparten dispositivos.
Acérquese a
-
- Crear una instancia separada de la base de datos Couchbase Lite para cada usuario.
- Aunque no es necesario, cada instancia de la base de datos puede estar en una carpeta específica del usuario, cuya ubicación se puede especificar mediante la opción Configuración de la base de datos en el momento de la creación de la base de datos. Si se desea, cada base de datos Couchbase Lite puede ser encriptado utilizando la contraseña/clave específica del usuario.
- Los datos comunes compartidos entre los usuarios pueden almacenarse en una instancia compartida de base de datos en una carpeta "común".
- Cuando cambie de usuario o "cierre la sesión", asegúrese de lo siguiente
Patrón 4: Compartir datos entre aplicaciones de un dispositivo

Las aplicaciones móviles se ejecutan en un entorno aislado. Así, una aplicación determinada sólo tiene acceso a sus propios datos o sólo puede modificarlos. Sin embargo, en ciertas plataformas, existen opciones que facilitan el uso compartido de recursos entre aplicaciones con los derechos adecuados. Usando estos mecanismos especificados por la plataforma, una instancia de la base de datos Couchbase Lite puede ser compartida por múltiples aplicaciones. Esto es de acuerdo con las directrices prescritas por la plataforma.
| Configuración | Implicación |
|---|---|
| Todos los lectores, ningún escritor | OK |
| Un escritor, varios lectores | OK - no hay notificaciones de cambios entre procesos |
| Varios escritores | No probado. La base de datos se bloqueará con múltiples accesos simultáneos (YMMW*) |
Caso práctico
Varias aplicaciones del mismo proveedor podrían trabajar con los mismos datos. En lugar de que cada aplicación mantenga una copia idéntica de los datos, compartir la base de datos reducirá los costes de transferencia y de almacenamiento local en el dispositivo.
Acérquese a
-
- La idea es alojar la base de datos en una carpeta o ubicación del sistema de archivos que sea accesible para las aplicaciones que la comparten. Configurar las aplicaciones para compartir datos es una implementación a nivel de plataforma.
- En iOS, se utilizaría Grupos de aplicaciones similar a lo que se describe en este blog para configurar el acceso a recursos compartidos de Couchbase Lite desde múltiples aplicaciones.
- En Android, podrías aprovechar Proveedores de contenidos para permitir compartir datos de Couchbase Lite entre aplicaciones
- La idea es alojar la base de datos en una carpeta o ubicación del sistema de archivos que sea accesible para las aplicaciones que la comparten. Configurar las aplicaciones para compartir datos es una implementación a nivel de plataforma.
¿Qué sigue?
En este post, hemos cubierto algunos patrones de uso comunes en Couchbase Lite. Seguiremos publicando posts describiendo otros consejos y recomendaciones para resolver problemas comunes.
Si tiene alguna pregunta o sugerencia, deje un comentario a continuación o póngase en contacto conmigo en Twitter @rajagp o envíeme un correo electrónico priya.rajagopal@couchbase.com. En Foros de Couchbase son otro buen lugar para plantear preguntas.
Agradecimientos
Me gustaría agradecer las contribuciones del equipo de desarrollo de Couchbase Lite, en concreto Jim Borden por su reseña de esta entrada del blog.