2011-03-28 36 views
6

Actualmente estoy examinando diferentes NoSQL y RDBMS con respecto a sus capacidades de replicación para construir sistemas distribuidos.¿Definiciones de modos de replicación?

La lectura de varios artículos y libros, me da la sensación de que algunos vendedores o autores utilizan sus propias definiciones relativas a los términos

  • maestro-maestro de replicación (replicación entre dos servidores)
  • maestro-esclavo replicación (replicación entre servidores mutliple con el fin de aumentar la velocidad de lectura, escritura sólo son capaces para el servidor maestro)
  • Multi-master replicación (= Peer-to-Peer?)
  • Peer-to-Peer replicación (replicación entre n nodos, ea ch puede leer/escribir) Replicación
  • Merge()

Por ejemplo:? Algunos mezclar los términos maestro-maestro y Peer-to-Peer como el mismo, mientras que en Docus Mysql por ejemplo, he encontrado que es diferenciada entre Master-Master y Multi-Master (= Peer-to-peer ???) Replicación.

¿Dónde está la diferencia en la replicación Multi-Master y Peer-to-Peer? ¿El caso de uso de la replicación de Multi-Master está más orientado hacia la agrupación en clúster mientras que los objetivos de igual a igual distribuyen el contenido a las aplicaciones distribuidas?

Me gustaría solucionar las cosas y asegurarme de que tengo la comprensión correcta en estos términos, por lo que tal vez una discusión aquí podría ayudar a fusionar algunos conocimientos.

Saludos, Chris

Editar: duplicación de mezcla añadida a la lista y algunas explicaciones como yo las entiendo ...

+0

No estoy lo suficientemente seguro como para dar una respuesta correcta, pero esperaría que (1) nadie esté de acuerdo con las palabras y la gente use los términos arbitraria e incompatiblemente; o (2) los académicos acuerdan las palabras, y las personas en la industria del software usan los términos de manera arbitraria e incompatible. – JasonSmith

Respuesta

3

En cuanto a CouchDB, la historia es simple. Aquí está:

Sólo hay un modo de replicación para CouchDB. La fuente copia todos sus datos al destino, sujeto a un filtro opcional de sí/no. Describí CouchDB replication en otra pregunta. El punto clave es que la "replicación" es simplemente un cliente de BD. Se conecta a ambos sofás, lee de la fuente y escribe en el destino.

Cualquier otra arquitectura de imagen grande (peer-to-peer, multi-master, master-slave) es solo la implementación de los desarrolladores o los administradores del sistema. Por ejemplo, si GET s se distribuyen a muchos sofás, pero POST van a un sofá central que se replica a los demás, esto es efectivamente maestro-esclavo. Si coloca un CouchDB en cada ciudad principal para el rendimiento, y se replican directamente entre sí, esa es la replicación de múltiples maestros.

Dentro de la comunidad CouchDB, y especialmente de los proyectos y presentaciones de Chris Anderson, la replicación "peer-to-peer" es un concepto donde CouchDB está en todas partes: teléfonos móviles, centros de datos, postes telefónicos. Y la replicación ocurre directamente entre sofás de forma descentralizada, sin una autoridad central o arquitectura, como la propia red.

+0

Sí, gracias.Por ahora, me atengo a esta "definición", pero eso realmente hace que sea difícil comparar otros DBMS con respecto a la replicación ... –

+0

Esto se debe a que ninguna base de datos tradicional se compara con CouchDB con respecto a la replicación. – JasonSmith

+0

Eso es probablemente tru :) –