Hoy anunciamos la disponibilidad general de Couchbase Mobile 2.6. Esta versión llega tras Couchbase Móvil 2.5 que publicamos en abril de este año.
Este es el primero de una serie de lanzamientos específicos de Couchbase Mobile que nos permitirán ofrecer funciones de alta prioridad en el momento oportuno, siguiendo el ritmo de las necesidades de desarrollo ágil que los desarrolladores móviles esperan.
Esta versión introduce dos funciones muy esperadas: la resolución de conflictos personalizada con fusión bidireccional en Couchbase Lite y la gestión avanzada de la caché en Sync Gateway.
Couchbase Mobile extiende el poder de la plataforma Couchbase al borde, gestionando y sincronizando datos de forma segura, desde cualquier nube a dispositivos de borde o directamente entre dispositivos de borde. En este post discuto las principales características de las plataformas Couchbase Lite y Sync Gateway. Además de las características discutidas aquí, hay una serie de correcciones de errores y mejoras menores que se discuten en la plataforma específica de notas de la versión.
Couchbase Lite
Resolución de conflictos a medida
En Couchbase Mobile 2.0 introdujimos Resolución automática de conflictos o "Modo Libre de Conflictos", en el que los conflictos son manejados automáticamente por Couchbase Lite en el momento de la escritura, por lo que efectivamente no hay revisiones de documentos en conflicto en la base de datos de Couchbase. Couchbase Lite aplica una política de resolución de conflictos por defecto para manejar conflictos que son el resultado de un escritura local o el resultado de las escrituras que llegan a través de un replicación. Con la resolución automática de conflictos, los desarrolladores de aplicaciones nunca tendrán que preocuparse de que los conflictos no resueltos llenen su base de datos.
En Couchbase Mobile 2.6, hemos mejorado el soporte de Resolución Automática de Conflictos permitiendo a los desarrolladores de aplicaciones definir su propia política de resolución de conflictos personalizada que puede anular la política por defecto. Mientras que las políticas de resolución de conflictos por defecto funcionaban para la gran mayoría de los casos de uso, reconocemos que hay casos de uso en los que el ganador de dos revisiones en conflicto puede ser determinado por reglas de negocio que sólo la aplicación está al tanto.
Para soportar esta característica, las aplicaciones deben registrar una función de resolución/manejo de conflictos con Couchbase Lite que debe seleccionar el ganador de dos revisiones en conflicto. Cuando el sistema encuentra un conflicto, el sistema llama a la función de resolución de conflictos registrada con las revisiones en conflicto y guarda la revisión ganadora devuelta por la función en la base de datos. Como en el caso de la política de resolución de conflictos por defecto, no se guardan conflictos en la base de datos.
Con esta mejora, Couchbase Mobile ofrece un completo soporte de resolución de conflictos que es la piedra angular de los sistemas de bases de datos distribuidas con sincronización.
La figura siguiente es una visión general de cómo se gestionan los conflictos en 2.6.

Por supuesto, hay mucho más en términos de cómo se manejan las excepciones y los errores. Para obtener más información sobre esta función, consulte nuestro documentación
Pasarela de sincronización
Gestión avanzada de la caché
En la versión 2.6, introducimos algunas mejoras clave en la gestión de la caché de Sync Gateway que mejorarán significativamente la compatibilidad con el escalado vertical, especialmente a medida que las implantaciones se amplíen a decenas o cientos de millones de canales.
Sync Gateway mantiene un par de cachés para mejorar los tiempos de respuesta al procesar las solicitudes entrantes. La caché de canal es una caché de canales y metadatos de los documentos asociados a los canales.
Hasta la versión 2.6, la caché de canales crecía de forma ilimitada con el número de canales. Esto no suponía ningún problema para las implantaciones típicas de cientos de miles de canales. Sin embargo, a medida que los despliegues se ampliaban a decenas o cientos de millones de canales, el tamaño de la caché de canales crecía sin límites y requería importantes recursos de memoria.
En la versión 2.6, hemos cambiado la política de gestión de la caché de canales para que los canales antiguos y no utilizados se desalojen automáticamente y sólo se mantengan en la caché los canales activos. Además, hemos hecho configurable el tamaño de la caché de canales y hemos expuesto una serie de ajustes avanzados de la caché de canales que permitirán a los usuarios ajustar adecuadamente la caché para sus despliegues.
Además de la caché de canales, Sync Gateway mantiene una caché de revisiones, que es la caché de los cuerpos de los documentos de las revisiones a las que se ha accedido más recientemente. En la versión 2.6, los usuarios pueden desactivar completamente esta caché. Esto es especialmente importante en implantaciones muy grandes con cientos de millones de documentos en las que la memoria disponible es limitada y se prevé que el porcentaje de aciertos de la caché sea bajo.
Para obtener más información sobre las mejoras de la caché en Sync Gateway, consulte nuestro documentación
¿Qué sigue?
En este post, hemos cubierto dos características clave en Couchbase Mobile 2.6. Consulte nuestra documentación para obtener una lista completa de todas las mejoras y correcciones de errores. Puede descargar Couchbase Mobile 2.6 hoy desde nuestra página web página de descargas. Nuestra Enterprise Edition también puede descargarse gratuitamente y utilizarse con fines de desarrollo. Puede obtener más información en nuestra Novedades página.
Aquí tiene algunos enlaces directos :
- Couchbase Lite
- Pasarela de sincronización
- Blogs de Couchbase Mobile
- Foros de Couchbase
Si tiene alguna pregunta o sugerencia, deje un comentario a continuación o póngase en contacto conmigo a través de Twitter o envíame un correo electrónico