Replicación de múltiples maestra
|
Este artículo incluye un lista de referencias, pero sus orígenes no están claros porque tiene insuficiente citas en línea. (Mayo de 2012) |
Replicación de múltiples maestra es un método de base de datos replicación que permite que los datos almacenados por un grupo de equipos, y actualizado por cualquier miembro del grupo. Todos los miembros responden a consultas de datos de cliente. El sistema de replicación de múltiples maestros es responsable de propagar las modificaciones de datos realizadas por cada miembro con el resto del grupo, y resolver cualquier conflicto que pudiera surgir entre cambios simultáneos realizados por diferentes miembros.
Replicación de múltiples maestra puede compararse con maestro / esclavo replicación, en el que un solo miembro del grupo es señalado como el "maestro" por un dato dado y es el único nodo permitido modificar ese elemento de datos. Otros miembros que deseen modificar el elemento de datos deben comunicarse primero con el nodo maestro. Permitiendo a sólo un solo amo hace más fácil lograr la coherencia entre los miembros del grupo, pero es menos flexible que la replicación de múltiples maestra.
Replicación de múltiples maestra también puede compararse con failover clustering donde los servidores esclavo pasivo replicar los datos maestros con el fin de prepararse para la toma de posesión en caso de que el maestro deja de funcionar. El maestro es el único servidor activo para la interacción con el cliente.
Los objetivos primordiales de la replicación de múltiples maestra son mayor disponibilidad y tiempo de respuesta de servidor más rápido.[1]
Contenido
- 1 Ventajas
- 2 Desventajas
- 3 Métodos
- 3.1 Base de registro
- 3.2 Basada en el gatillo
- 4 Implementaciones
- 4.1 Servicios de directorio
- 4.1.1 Active Directory
- 4.1.2 Directorio de CA
- 4.1.3 OpenDS/OpenDJ
- 4.1.4 OpenLDAP
- 4.2 Sistemas de gestión de base de datos
- 4.2.1 Apache CouchDB
- 4.2.2 Cloudant
- 4.2.3 Oracle
- 4.2.4 Microsoft SQL
- 4.2.5 MySQL
- 4.2.6 PostgreSQL
- 4.2.7 Ingres
- 4.1 Servicios de directorio
- 5 Véase también
- 6 Referencias
- 7 Enlaces externos
Ventajas
- Si un maestro falla, otros maestros seguirán para actualizar el base de datos.
- Masters puede ser localizados en varios sitios físicos, es decir, distribuidos en toda la red.
Desventajas
- Mayoría de sistemas de replicación de múltiples maestros es sólo ligeramente consistente, es decir, perezoso y asincrónica, violando ÁCIDO propiedades.
- Sistemas de replicación ansiosos son complejos y aumentan la comunicación latencia.
- Cuestiones tales como la resolución de conflictos pueden ser insuperables como el número de nodos involucrados se levanta y aumenta la latencia.
Métodos
Base de registro
A transacciones de bases de datos registro se hace referencia para capturar los cambios realizados en la base de datos.
Basada en el gatillo
Desencadenadores en el suscriptor los cambios realizados en la base de datos de captura y someterlos a la editorial. Con la captura de transacciones basadas en el gatillo, cambios de base de datos pueden ser distribuidos o síncrono o asincrónicamente.
Implementaciones
Servicios de directorio
Muchos servidores de directorio basado en LDAP implementar la replicación de múltiples maestra.
Active Directory
Es una de las implementaciones de replicación de múltiples maestros más prevalentes en los servidores de directorio Microsoftes Active Directory. En Active Directory, los objetos que se actualizan en uno Controlador de dominio luego se replican en otros controladores de dominio mediante la replicación de múltiples maestra. No es necesario para todos los controladores de dominio replicar con otro controlador de dominio ya que esto podría causar excesivo tráfico de red en grandes implementaciones de Active Directory. En cambio, los controladores de dominio tienen un patrón complejo de actualización que garantiza que todos los servidores se actualizan de manera oportuna sin tráfico de replicación excesiva. Algunos Active Directory necesita son sin embargo mejor servidos por Operación de maestra única flexible. Marco jerárquico de objetos recursos servicios usuarios proporciona información sobre los objetos ayudar a organizar estos objetos de ayudan para realizar las funciones de seguridad
Directorio de CA
Directorio de CA soporta replicación de múltiples maestra.
OpenDS/OpenDJ
OpenDS (y su sucesor producto OpenDJ) implementado multi-master desde la versión 1.0. La replicación de múltiples maestra OpenDS/OpenDJ es asincrónica, utiliza un registro con una publicación-suscribirse el mecanismo que permite escalar a un gran número de nodos. OpenDS/OpenDJ replicación conflicto resolución a nivel de entrada y atributo. Replicación OpenDS/OpenDJ se puede utilizar un Red de área amplia.
OpenLDAP
El servidor LDAP de código abierto ampliamente utilizado implementa la replicación de múltiples maestra desde su versión 2.4 (octubre de 2007) [1].
Sistemas de gestión de base de datos
Apache CouchDB
Apache CouchDB utiliza un sistema de replicación de múltiples maestros simple basado en HTTP, construido a partir de la utilización de un append única-almacén de datos y el uso de Control de concurrencia multiversión (MVCC)
Cada documento contiene un _rev (revisión ID), así que cada registro almacena la cronología evolutiva de todas las identificaciones revisión anteriores conducen a sí mismo — que proporciona la base de CouchDB MVCC sistema. Además, mantiene un índice de secuencia para la base de datos. "El proceso de replicación sólo copias de la última revisión de un documento, para que todas las revisiones anteriores que estaban solamente en la base de datos de origen no se copian a la base de datos destino."[2]
El replicador de CouchDB actúa como un simple cliente HTTP actuando en ambos un fuente y blanco base de datos. Compara actual secuencia de identificadores para la base de datos, calcula las diferencias de revisión y hace los cambios necesarios para el blanco basado en lo que encontró en la historia de la fuente base de datos. Replicación bidireccional es el resultado de hacer simplemente otra réplica con el fuente y blanco intercambiaron de valores.
Cloudant
Cloudant, un sistema de base de datos distribuida, utiliza en gran medida la misma API HTTP como Apache CouchDBy expone la misma capacidad para replicar mediante Control de concurrencia multiversión (MVCC). Cloudant bases de datos pueden replicarse entre sí, pero internamente, nodos dentro de los racimos Cloudant usan replicación de múltiples maestra permanecer en sincronía con los demás y proporcionar alta disponibilidad a los consumidores de la API.
Oracle
base de datos racimos implementar la replicación de múltiples maestra usando uno de los dos métodos. Asincrónica replicación de múltiples maestra compromete a cambios en los datos a un cola de transacciones diferidas que periódicamente se procesa en las bases de datos del clúster. Síncrono replicación de múltiples maestra utiliza funcionalidad de cometer de fase dos de Oracle para asegurar que todas las bases de datos con el racimo tienen un constante conjunto de datos.
Microsoft SQL
Microsoft SQL proporciona replicación de múltiples maestra mediante replicación peer-to-peer. Ofrece una solución de alta disponibilidad y escalabilidad de mantener copias de los datos a través de múltiples nodos. Construida sobre la base de la replicación transaccional, replicación peer-to-peer propaga cambios consistentes transaccionalmente en casi en tiempo real.[3]
MySQL
En un nivel básico, es posible lograr un principio de esquema de replicación de múltiples maestros desde MySQL versión 3.23 con replicación circular. Partiendo de eso, MariaDB y MySQL nave con algún soporte para replicación, cada uno de ellos con diferentes matices.
En cuanto a apoyo directo tenemos:
MariaDB: nativamente soporta múltiples maestros replicación desde versión 10.0, pero los conflictos no es compatible, así que cada maestro debe contener diferentes bases de datos. En MySQL esto se llama multi-source actualmente en Lanzamiento de laboratorios.
La replicación MySQL: Grupo MySQL, un plugin para maestro virtual multi síncrono con manejo de conflicto y recuperación distribuida está actualmente en desarrollo y puede consultarse en Lanzamiento de laboratorios.
Proyectos Cluster:
MySQL Cluster Soporta detección de conflictos y resolución entre varios masters desde la versión 6.3 para verdadera capacidad multi-amo el servidor MySQL.
También hay un proyecto externo, Cluster de galera creado por Codership, que proporciona la verdadera capacidad de múltiples maestra, basada en una horquilla del motor de almacenamiento InnoDB y replicación personalizado plug-ins replicación es sincrónica, así ningún conflicto es posible.
PostgreSQL
La documentación de replicación para PostgreSQL[4] clasifica los diferentes tipos de replicación disponibles. Existen varias opciones para distribuida multi-master, incluyendo Bucardo, rubyrep y BDR Replicación bidireccional. BDR está dirigido a la eventual inclusión en base de PostgreSQL y ha sido referenciado como demostrando significativamente mejorado rendimiento[5] sobre las opciones anteriores. Existen varias opciones para replicación sincrónica de varios maestra. Postgres-XL está disponible bajo la licencia pública de Mozilla,[6] y PostgresXC que está disponible bajo la misma licencia como PostgreSQL sí mismo son ejemplos. Tenga en cuenta que el proyecto PgCluster fue abandonado en el año 2007 PgCluster Soluciones propietarias contáctese con algunos proveedores.
Ingres
|
En esta sección No lo hace Cite cualquier referencias o fuentes. (Febrero de 2013) |
Dentro de Ingres Replicante, objetos que se actualizan en un servidor de Ingres entonces se puede replicar a otros servidores locales o remotos mediante la replicación de múltiples maestra. Si un servidor falla, las conexiones de cliente pueden ser re-dirigido a otro servidor. No es necesario para todos los servidores en un entorno Ingres a replicar con otro ya que esto podría causar excesivo tráfico de red en grandes implementaciones. En cambio, Ingres Replicator permite los datos adecuados replicar a los servidores adecuados sin tráfico de replicación excesiva. Esto significa que algunos servidores en el ambiente pueden servir como failover candidatos mientras que otros servidores pueden cumplir otros requisitos como la gestión de un subconjunto de columnas o tablas para una solución departamental, un subconjunto de las filas de una región geográfica o replicación unidireccional para un servidor de informes. En el caso de un origen, destino o fallo en la red, integridad de los datos es forzada a través de este Protocolo de dos fases al asegurar que toda la transacción se replica, o no es. Además, Ingres Replicator puede operar encima de RDBMS de múltiples proveedores[¿que?] para conectarlos.
Véase también
- Operación de maestra única flexible
- Active Directory
- Sistema de gestión de base de datos distribuida
- Transferencia de zona DNS
- Replicación optimista
Referencias
- ^ Postgres-XC bajo ¿Qué es Postgres-XC?:
Significa escribir escalable que Postgres-XC puede configurarse con tantos servidores de base de datos como quieras y manejar muchos más escribe (actualización sentencias SQL) en comparación con lo que no puede hacer un servidor de base de datos
- ^ "Apache CouchDB Replication". Fundación Apache - proyecto Apache CouchDB.
- ^ Replicación transaccional peer-to-Peer
- ^ Comparación de soluciones de replicación diferentes para PostgreSQL Como encontradas en la documentación de PostgreSQL 9. Obtenido 2012-05-08
- ^ BDR Performance Petr Jelinek, 2ndQuadrant. Obtenido 2014-07-10
- ^ Página del producto Postgres-XL (sitio web), TransLattice
Enlaces externos
- Retos involucrados en la replicación
- Modelo de replicación de Active Directory
- Términos y definiciones para la replicación de bases de datos
- SymmetricDS es la base de datos independiente, sincronización de datos software. Utiliza tecnologías web y base de datos para replicar tablas entre bases de datos relacionales en tiempo casi-real. El software fue diseñado a escala para un gran número de bases de datos, trabajar a través de conexiones de bajo ancho de banda y soportar períodos de interrupción de la red. Es compatible con MySQL, Oracle, SQL Server, PostgreSQL, DB2, Firebird, Interbase, HSQLDB, H2, Apache Derby, Informix, Greenplum, SQLite, Sybase ASE, y Sybase ASA. Bajo ambos de código abierto (licenciaGPL) y las licencias comerciales.
- Duplicador de Narciso es un Java herramienta para sincronización de datos, migración de datos y backup de datos entre diferentes servidores de base de datos. Narciso Replicator trabaja sobre norma JDBC conductor y soporta replicación a través de bases de datos heterogéneas. En la actualidad soporta siguiendo las bases de datos: Microsoft SQL Server, Oracle, Base de datos de Narciso, DB2, Apache Derby, MySQL, y PostgreSQL. Duplicador de Narciso está disponible en ambas empresa (comercial) y fuente abierta (GPL-licencia) versiones.
- Página del proyecto DBReplicator
- DMOZ Open Directory Project - página de replicación de base de datos