Sin categoría

¿Leer y escribir? 50 veces más rápido en Couchbase Server 3.0 con vistas incrementales Map/Reduce

RYOW (read your own write) puede ser complicado con algunas bases de datos NoSQL pero no con Couchbase Server. Con Couchbase Server activo vbucket toma las escrituras y lecturas por defecto (aunque puedes leer desde las réplicas si quieres en cualquier momento) y eso significa que, en estado estable, puedes leer tus propias escrituras... ¡sin problemas! Couchbase Server escribe primero en memoria y rápidamente replica a través de DCP a las réplicas y persiste en disco. Puedes esperar acuses de recibo en replicación o persistencia cuando emitas una actualización. Ese ack te da la misma garantía de RYOW incluso bajo un reinicio de nodo o failover (a.k.a ReplicateTo y PersistTo flags).

Cuando se trata de consultas, a diferencia de las bases de datos relacionales, las consultas de Couchbase Server te dan la opción de leer lo que ha sido procesado en la vista sin esperar O la consulta puede esperar hasta que todas las actualizaciones sean procesadas, hasta el punto de la solicitud de consulta para asegurar RYOW en la consulta. La primera es de baja latencia y se denomina consulta con "stale=ok". Y la segunda se conoce como consulta "stale=false", que espera a ser procesada, por lo que puede ser de mayor latencia. Las consultas de tipo "stale=false" son muy útiles. Imagina que creas una aplicación de mensajería. Si el mensaje que has enviado no aparece en tu carpeta de "mensajes enviados" (que suele ser una consulta de vista), ¡puedes volver a enviarlo! O guardas una nueva lista de reproducción en tu aplicación móvil, vuelves a tus listas de reproducción y si no ves esa nueva lista, ¡te confundes! ¡Así que stale-false es esencial!

Con estos antecedentes, echemos un vistazo a cómo la versión 3.0 mejora la situación. Para obtener RYOW en versiones anteriores de Couchbase Server, necesitabas hacer 2 cosas;

  1. su actualización debe utilizar la bandera PersistTo
  2. su consulta necesita usar la bandera stale=false

Eso te llevaría a RYOW en versiones anteriores como Couchbase Server 2.5. PersistTo obviamente ralentiza las cosas a velocidad de disco. Sin embargo con la replicación en streaming (DCP) + Incremental Map/Reduce Views, obtener RYOW ya no requiere persistTo en Couchbase Server 3.0. Este es el aspecto de la misma llamada en 3.0. Ya no se necesita #1 por lo tanto PersistTo.Zero.

La latencia puede ser 50 veces menor en 3.0 en comparación con versiones anteriores como Couchbase Server 2.5. ¡Eso es un gran beneficio por el dinero! Si usas vistas y necesitas consultas "stale=false", Couchbase Server 3.0 te aportará grandes beneficios. La actualización es fácil y online. Puedes descargar 3.0 aquí.

Feliz prueba.

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

Author

Posted by Cihan Biyikoglu

Cihan Biyikoglu es director de gestión de productos en Couchbase, responsable del producto Couchbase Server. Cihan es un entusiasta de los grandes datos que aporta más de veinte años de experiencia al equipo de productos de Redis Labs. Cihan comenzó su carrera como desarrollador de C/C++.

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.