Sin categoría

coherente: ser o no ser

Esa es la cuestión.

Esto es desde el punto de vista de un cliente ausente de una partición y / o conmutación por error.

MongoDB

¿Son coherentes los datos de MongoDB?

MongoDB ejecuta operaciones de lectura y escritura en el nodo primario, y los datos son coherentes. Sin embargo, el rendimiento es limitado porque los clientes no aprovechan los nodos secundarios. La primera alternativa es ejecutar operaciones de lectura en todos los nodos, primarios y secundarios. El rendimiento de lectura es mejor, pero los datos dejan de ser coherentes porque la replicación es asíncrona por defecto. La segunda alternativa es la replicación síncrona. Los datos son consistentes, pero el rendimiento de escritura es peor.

  • Principal
    • Rendimiento de lectura medio, rendimiento de escritura medio
    • Datos coherentes
  • Primario + Secundario (asíncrono)
    • Alto rendimiento de lectura, rendimiento medio de escritura
    • Datos finalmente coherentes
  • Primario + Secundario (sincrónico)
    • Alto rendimiento de lectura, bajo rendimiento de escritura
    • Datos coherentes

Los datos pueden ser coherentes o no.

Servidor Couchbase

¿Son coherentes los datos de Couchbase Server?

Couchbase Server ejecuta todas las operaciones de lectura y escritura en el nodo primario, y los datos son consistentes. El rendimiento es alto porque los clientes aprovechan todos los nodos. Eso es porque cada nodo es un nodo primario.

  • Por defecto
    • Alto rendimiento de lectura, alto rendimiento de escritura
    • Datos coherentes

Los datos son coherentes.

Particionado frente a replicado

Tanto Couchbase Server como MongoDB implementan particionamiento y replicación. Sin embargo, las implementaciones son diferentes.

En MongoDB, una partición se almacena dentro de un conjunto de réplicas. Un conjunto de réplicas consiste en un nodo primario y múltiples nodos secundarios. Si hubiera nueve nodos, habría tres conjuntos de réplica con operaciones de escritura distribuidas a los tres nodos primarios. En Couchbase Server, cada nodo es tanto un nodo primario activo como un nodo secundario pasivo. Si hubiera nueve nodos, habría nueve nodos primarios con operaciones de escritura distribuidas a todos ellos (9). Esta es una descripción de alto nivel de cómo se particionan y replican los datos dentro de Couchbase Server. Una descripción de bajo nivel está disponible en la documentación sobre vBuckets (enlace).

Si los datos se replican, MongoDB necesitaría veintisiete nodos para distribuir las operaciones de escritura a nueve nodos.

Nota

MongoDB se basa en un único bloqueo por base de datos y nodo (enlace & enlace). Couchbase Server se basa en bloqueos de documentos (más). Couchbase Server no sólo aprovecha más nodos para ejecutar escrituras, sino que ejecuta más escrituras por nodo.

Discutir

Reddit

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

Autor

Publicado por Shane Johnson

Shane K Johnson fue Director de Marketing de Producto en Couchbase. Antes de Couchbase, ocupó varios puestos en desarrollo y evangelización con formación en Java y sistemas distribuidos. Ha sido consultor de organizaciones de los sectores financiero, minorista, de las telecomunicaciones y de los medios de comunicación para diseñar e implantar arquitecturas basadas en sistemas distribuidos para datos y análisis.

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.