Sin categoría

Bases de datos distribuidas y diseño de replicación

Uno de los elementos más importantes de la arquitectura de bases de datos distribuidas es la replicación. De hecho, define la arquitectura de la base de datos. Determina si los datos son coherentes / están disponibles o no.

Maestro / Esclavo

Las escrituras se ejecutan en los nodos maestros y se replican en los nodos esclavos. Si se requiere coherencia, las lecturas se ejecutan en los nodos maestros. Si no lo es, las lecturas se ejecutan en los nodos maestros y/o esclavos.

¿Cuál es el problema?

Supongamos que a) hay un nodo por servidor físico y b) las escrituras se replican en dos esclavos.

El problema es... dos tercios de los nodos son pasivos, dos tercios de los nodos no responden a las solicitudes de escritura, pueden no responder a las solicitudes de lectura. El problema es... que hay tres veces más nodos de los necesarios para cumplir los requisitos de rendimiento / latencia.

Masterless

Las escrituras se ejecutan en múltiples nodos. Si se requiere coherencia, las lecturas se ejecutan en varios nodos.

¿Cuál es el problema?

Supongamos que a) hay un nodo por servidor físico y b) las escrituras se replican en dos nodos.

El problema es... las lecturas / escrituras consistentes se ejecutan en múltiples nodos. Requiere múltiples peticiones, una del cliente al servidor y dos del servidor a otros dos servidores. El nodo que recibe la solicitud de escritura debe enviar solicitudes de escritura a los otros dos nodos, lo que se traduce en una mayor latencia y un menor rendimiento.

Propietario principal

Es lo mejor de ambos: las lecturas/escrituras se ejecutan en el propietario primario y se replican, y las lecturas/escrituras se ejecutan en cada nodo. Como en un diseño maestro/esclavo, la consistencia se mantiene ejecutando lecturas/escrituras en el nodo primario. Como en un diseño sin maestro, cada nodo es un nodo primario.

Una de ellas es un mal diseño. Uno de estos es un buen diseño. Uno de estos es un gran diseño.

¿Qué le parece?

Debatir sobre Noticias Hacker
Debatir sobre 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, Director de Marketing de Producto, Couchbase

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.