Buenas prácticas y tutoriales

Mejores prácticas para el uso de Couchbase Mobile : Parte 1

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

Couchbase Mobile pattern for preloading couchbase lite data

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ágina Configuración de la base de datos objeto.
      • Utiliza el código abierto, couchbaselabs cblite herramienta. Esta herramienta permite cargar datos de diversas fuentes.
    • 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

Patrón 2: Segregación de datos locales del cliente y datos sincronizados

Couchbase mobile pattern for local only data

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

Couchbase Mobile pattern share database with multiple users

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

Couchbase Mobile pattern share database between apps

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

¿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.

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Priya Rajagopal, Directora de Gestión de Productos

Priya Rajagopal es directora sénior de gestión de productos en Couchbase y responsable de las plataformas de desarrollo para la nube y el perímetro. Lleva más de 20 años dedicándose profesionalmente al desarrollo de software en varios puestos de liderazgo técnico y de producto, con más de 10 años centrados en tecnologías móviles. Como delegada de estándares IPTV de TISPAN, fue una colaboradora clave en las especificaciones de estándares IPTV. Tiene 22 patentes en las áreas de redes y seguridad de plataformas.

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.