Réplica transaccional de punto a punto

Actualizado: 12 de diciembre de 2006

La réplica transaccional de punto a punto está diseñada para aplicaciones que pueden leer o modificar los datos en cualquiera de las bases de datos que participan en la réplica. Por ejemplo, una aplicación para realizar compras por Internet es muy adecuada para la réplica de punto a punto: el rendimiento de la aplicación se puede mejorar distribuyendo entre varias bases de datos las consultas que leen los datos. Además, si alguno de los servidores que alojan las bases de datos no está disponible, se puede programar una aplicación para dirigir el tráfico a los otros servidores, que contienen copias idénticas de los datos. El rendimiento de lectura mejora porque la actividad se puede repartir entre todos los nodos. El rendimiento acumulado de actualización, inserción y eliminación para la topología es similar al de un solo nodo, porque al final todos los cambios se propagan a todos los nodos.

Todos los nodos de una topología de punto a punto son pares: cada nodo publica y suscribe al mismo esquema y los mismos datos. Los cambios (inserciones, actualizaciones y eliminaciones) pueden realizarse en todos los nodos. La réplica reconoce cuándo un cambio se ha aplicado a un nodo determinado, lo que evita cambios cíclicos en los nodos más de una vez.

[!NOTA] Las aplicaciones personalizadas que tienen acceso a los datos y los modifican deben asegurarse de que las inserciones, actualizaciones y eliminaciones tienen particiones, de forma que las modificaciones en una fila determinada con origen en un nodo se sincronicen con el resto de bases de datos de la topología antes de que la fila se modifique en otro nodo diferente. Si una aplicación ejecuta modificaciones simultáneas que producen conflictos en una fila determinada en varios nodos, utilice la réplica de mezcla, que se adapta perfectamente para controlar conflictos. Para obtener más información acerca de la réplica de mezcla, vea Información general sobre la réplica de mezcla.

La réplica transaccional estándar supone suscriptores de sólo lectura y tiene una estructura jerárquica: normalmente un solo publicador publica datos para uno o varios suscriptores. La réplica transaccional estándar también admite una jerarquía de republicación: las actualizaciones se entregan desde un publicador a un conjunto de suscriptores de republicación, que a su vez entregan las actualizaciones a un conjunto final de suscriptores de nodo hoja. Las suscripciones de actualización ofrecen la posibilidad de que los suscriptores inserten cambios de nuevo en el publicador, pero la organización aún es jerárquica porque los cambios siguen la estructura jerárquica cuando se mueven entre los suscriptores y los publicadores. Al contrario que la réplica transaccional de sólo lectura y la réplica transaccional con suscripciones de actualización, las relaciones entre nodos en una topología de réplica de punto a punto son relaciones entre pares en vez de jerárquicas, donde cada nodo contiene un esquema y datos idénticos.

[!NOTA] Aunque las actualizaciones pueden realizarse donde participan varias bases de datos, es importante comprender que las topologías de punto a punto no necesitan ni permiten las opciones de publicación de actualización en cola o inmediata. Para obtener más información acerca de la actualización en cola o inmediata, vea Suscripciones actualizables para réplica transaccional.

Topologías de punto a punto

En los siguientes escenarios se ilustran los usos típicos de la réplica de punto a punto.

Topología en la que participan dos bases de datos

Réplica de punto a punto, dos nodos

En las ilustraciones anteriores se muestran dos bases de datos participantes, con tráfico de usuario dirigido a las bases de datos a través de un servidor de aplicaciones. Esta configuración se puede utilizar en varias aplicaciones, desde sitios Web hasta aplicaciones de grupos de trabajo, y proporciona las siguientes ventajas:

  • Rendimiento de lectura mejorado, porque las lecturas se reparten en dos servidores.
  • Alta disponibilidad si se requiere mantenimiento o en caso de error en un nodo.

En ambas ilustraciones, la actividad de lectura tiene equilibrio de carga entre las bases de datos participantes, pero las actualizaciones se controlan de forma diferente:

  • A la izquierda, las actualizaciones se particionan entre los dos servidores; si la base de datos contiene un catálogo de productos, puede, por ejemplo, hacer que una aplicación personalizada dirija las actualizaciones al nodo "A" para los nombres de productos que empiecen con la letra A hasta la M y dirija las actualizaciones al nodo "B" para los nombres de productos que empiecen con la letra N hasta la Z. Más tarde, las actualizaciones se replican en el otro nodo.
  • A la derecha, todas las actualizaciones se dirigen al nodo "B". Desde ahí, las actualizaciones se replican en el nodo "A". Si "B" está desconectado (por ejemplo, por motivos de mantenimiento), el servidor de aplicaciones puede dirigir toda la actividad a "A". Cuando "B" vuelve a conectarse, las actualizaciones pueden pasar a él, y el servidor de aplicaciones puede mover todas las actualizaciones de vuelta al nodo "B" o seguir dirigiéndolas al nodo "A".

La réplica de punto a punto puede admitir este método, pero el ejemplo de actualización centralizada de la derecha también se utiliza frecuentemente con la réplica transaccional estándar.

Topología en la que participan tres o más bases de datos

Réplica de punto a punto a ubicaciones dispersas

En la ilustración anterior se muestran tres bases de datos participantes que proporcionan el sistema de una organización de soporte de software internacional, con oficinas en Los Ángeles, Londres y Taipei. Los ingenieros de soporte de cada oficina reciben llamadas de clientes e incluyen y actualizan la información de las llamadas de los clientes. Las zonas horarias de las tres oficinas tienen una diferencia de ocho horas, por lo que no se superponen en la jornada laboral: cuando la oficina de Taipei cierra, se abre la oficina de Londres. Si hay una llamada en curso cuando se cierra una oficina, la llamada se transfiere a un representante de la siguiente oficina abierta.

Cada ubicación tiene una base de datos y un servidor de aplicaciones, que los ingenieros de soporte utilizan para incluir y actualizar la información de las llamadas de los clientes. La topología se particiona por tiempo, por lo que las actualizaciones sólo se producen en el nodo que está abierto; a continuación, las actualizaciones pasan al resto de bases de datos participantes. Esta topología proporciona las siguientes ventajas:

  • Independencia sin aislamiento: cada oficina puede insertar, actualizar o eliminar datos de forma independiente, pero también puede compartir los datos porque se replican en el resto de bases de datos participantes.
  • Alta disponibilidad en caso de error o para permitir el mantenimiento en cualquiera de las bases de datos participantes.
    Réplica de punto a punto, tres y cuatro nodos

En la ilustración anterior se muestra la adición de un nodo a la topología de tres nodos. En este escenario se podría agregar un nodo:

  • Porque se abre otra oficina.
  • Para proporcionar alta disponibilidad al mantenimiento de soporte o aumentar la tolerancia a errores en caso de un error grave.
  • Observe que en las dos topologías de tres y cuatro nodos, todas las bases de datos publican y se suscriben en las otras bases de datos, lo que proporciona la máxima disponibilidad en caso de necesidades de mantenimiento o error en uno o varios nodos. Al agregar nodos, se deben equilibrar las necesidades de disponibilidad y escalabilidad respecto al rendimiento y la complejidad de implementación y administración.

Configurar la réplica de punto a punto

La configuración de una topología de réplica de punto a punto es muy similar a la configuración de una serie de suscripciones y publicaciones transaccionales estándar. Los pasos descritos en el tema siguiente muestran la configuración de un sistema de tres nodos, similar a la configuración mostrada en la parte izquierda del diagrama anterior.

Para configurar la réplica transaccional de punto a punto

Consideraciones para utilizar la réplica de punto a punto

Tenga en cuenta las siguientes consideraciones cuando utilice la réplica de punto a punto:

Consideraciones generales

  • La réplica de punto a punto sólo está disponible en SQL Server 2005 Enterprise Edition.
  • Todas las bases de datos participantes deben tener un esquema y datos idénticos:
    • Los nombres de objetos, el esquema de objetos y los nombres de publicaciones deben ser idénticos entre las bases de datos participantes.
    • Las publicaciones deben permitir la réplica de los cambios del esquema (el valor 1 para la propiedad de publicación replicate_ddl, que es el valor predeterminado). Para obtener más información, vea Realizar cambios de esquema en las bases de datos de publicaciones.
    • No se admite el filtrado de filas y columnas.
  • Se recomienda que cada nodo utilice su propia base de datos de distribución. Esto elimina la posibilidad de tener un punto de error único.
  • Las tablas y otros objetos no se pueden incluir en más de una publicación de punto a punto en una única base de datos de publicación.
  • Debe habilitarse una publicación para la réplica de punto a punto antes de crear las suscripciones.
  • Las suscripciones deben inicializarse con una copia de seguridad o con la opción 'Sólo compatibilidad con réplica'. Para obtener más información, vea Inicializar una suscripción transaccional sin una instantánea.
  • No se proporciona la detección y resolución de conflictos. Las actualizaciones de una fila determinada deben realizarse sólo en una base de datos hasta que se sincronice con sus pares. Esto se puede conseguir, por ejemplo, haciendo que la aplicación dirija las actualizaciones de un conjunto de filas a un nodo particular.
  • No se recomienda el uso de columnas de identidad. Cuando se utilizan identidades, se deben administrar manualmente los intervalos asignados a las tablas en cada base de datos participante. Para obtener más información, vea la sección sobre cómo asignar intervalos para la administración manual de intervalos de identidad en el tema Replicar columnas de identidad.

Restricciones de características

La réplica de punto a punto es compatible con las características principales de la réplica transaccional. Esta modalidad no admite las siguientes opciones:

  • Inicialización y reinicialización con una instantánea.
  • Filtros de filas y columnas.
  • Columnas de marca de hora.
  • Suscriptores y publicadores que no son de SQL Server.
  • Suscripciones de actualización inmediata y de actualización en cola.
  • Suscripciones anónimas.
  • Suscripciones parciales.
  • Suscripciones adjuntables y suscripciones transformables (ambas obsoletas en SQL Server 2005).
  • Agentes de distribución compartidos.
  • El parámetro -SubscriptionStreams del Agente de distribución y el parámetro -MaxCmdsInTran del Agente de registro del LOG.
  • Las propiedades de artículo **@destination\_owner** y **@destination\_table**.

Las siguientes propiedades requieren consideraciones especiales:

  • La propiedad de publicación **@allow\_initialize\_from\_backup** exige el valor 'true'.
  • La propiedad de artículo **@replicate\_ddl** exige el valor 'true'; **@identityrangemanagementoption** exige el valor 'manual'; y **@status** exige que dicha opción esté establecida en '24'.
  • El valor de las propiedades de artículo **@ins\_cmd**, **@del\_cmd** y **@upd\_cmd** no puede establecerse en 'SQL'.
  • La propiedad de suscripción **@sync\_type** exige el valor 'none' o 'automatic'.

Consideraciones de mantenimiento

Historial de cambios

Versión Historial

12 de diciembre de 2006

Contenido modificado:
  • Se agregó una frase explícita que indica que esta característica sólo está disponible en SQL Server 2005 Enterprise Edition.

17 de julio de 2006

Contenido modificado:
  • Se actualizó la información sobre las características de la réplica transaccional que pueden usarse en la réplica de punto a punto.

Vea también

Conceptos

Estrategias para hacer copias de seguridad y restaurar la réplica de instantáneas o transaccional
Tipos de publicaciones para la réplica transaccional

Otros recursos

How to: Administer a Peer-to-Peer Topology (Replication Transact-SQL Programming)

Ayuda e información

Obtener ayuda sobre SQL Server 2005