msSQL – Replicación Peer-to-Peer en SQL
Server 2008
Fuente:
http://www.sql-server-performance.com/articles/dba/PeertoPeer_Replication_in_SQL_
Server_2008_p1.aspx
Autor: Dinesh Asanka
Introducción
Peer-to-Peer (P2P) Replication fue introducida en SQL Server 2005 para mejorar la
disponibilidad y el rendimiento. En SQL Server 2008 la característica de P2P
Replication ha madurado aún más con el agregado de más características. Este artículo
describe las razones para usar P2P, como configurarlo y demas temas relacionados.
¿Por qué usar P2P Replication?
En un escenario típico de replication, hay un publicador y uno o más suscriptores como
en la figura 1.
Figura 1 : Configuración típica de Replicación.
En el escenario de arriba se puede observar, si el suscriptor no responde, otros
subscriptores y publicadores podrán seguir con el trabajo. Luego de la presencia del
suscriptor con fallos, este se sincronizará con el publicador y luego podrá volver a las
operaciones normales. Sin embargo, ¿Qué pasaría si hay una falla en el publicador?.
Bueno, entonces todo el sistema fallaría. Esto significa que la configuración de arriba
dará lugar a un único punto de fallo.
Para abordar las problemáticas anteriores en una replicación típica, P2P replication es la
opción que se puede usar tal cuál está mostrada a continuación en la figura 2:
Figura 2: P2P Replication
En P2P replication, cada base de datos actúa como un publicador y un suscriptor. Por
esto en esta topología de replicación no los llamaremos publicador y suscriptor. En
cambio los llamaremos Nodos porque están todos en el mismo nivel. Una transacción
originada en un nodo será replicada a los nodos restantes, pero no volverá a ser
replicada al nodo originador.
Usos y beneficios de la P2P Replication
Todas las consultas de bases de datos se distribuyen a través de múltiples nodos.
Esto permite mantener consistentemente el rendimiento mientras se incrementa
la lectura. Por esto es recomendado tener las mismas configuraciones para todas
las bases de datos para que los usuarios no sean capaces de identificar a cuál
nodo están conectados.
Si ocurre un fallo en uno de los nodos del sistema, una capa de aplicación puede
redirigir las escrituras de ese nodo a otro. Esto mantiene la disponibilidad.
Si un nodo requiere mantenimiento o todo el sistema requiere de una
actualización, cada nodo puede ser desconectado y agregado luego al sistema sin
afectar la disponibilidad de la aplicación.
La figura 3, muestra la implementación de Replicación de P2P en tres ciudades
diferentes: Londres, Los Angeles y Taipei.
Figura 3: Implementación de P2P Fuente: MSDN
Configurando de P2P Replication
Tal como en SQL Server 2005, necesitarás configurar replicación transaccional antes de
configurar P2P Replication.
Habilitando la P2P Replication
Después de configurar la replicación transaccional, antes de añadir suscriptores,
necesitarás habilitar la P2P Replication.
Para hacer esto, seguir los siguientes pasos:
1. Click derecho en publicación y seleccione propiedades.
2. Seleccione la página de opciones de suscriptores.
3. En esta página, ponga en verdadero la opción de permitir suscriptores peer-to-peer de
la figura 4.
Figura 4: Permitiendo suscriptores P2P 4. Después de habilitar la suscripción Peer-
to-Peer hacer click derecho en publicador, verás una nueva Topología de configuración
Peer-to-Peer … la opción está presente en el menú contextual mostrado en la figura 5.
Podés seleccionar esa opción para configurar la topología de P2P.
Figura 5: Nueva opción de menú para configurar P2P
5. Luego de la página de inicio, tendrás la lista de las publicaciones habilitadas de P2P
para que las puedas seleccionar.
6. Hasta este punto, no hay nada nuevo en la configuración de réplica P2P en SQL
Server 2008 en comparación con SQL Server 2005. A continuación verá una linda
interfaz para configurar P2P.
Figura 6: Configurar la topología P2P
7. Al principio, sólo verá un nodo (en P2P hay editor y abonados, ya que todos al
mismo nivel, por lo que se llaman nodos). Si hace clic derecho, verá un menú contextual
con cinco opciones.
8. Tome nota de la tercera opción que es agregar un nuevo nodo de pares que nos
permite añadir otro nodo. En este (Figura 7), es necesario seleccionar una base de datos
de la lista. A diferencia de otras opciones de replicación, no puede crear bases de datos
inmediatamente. En lugar de ello, es necesario crear una base de datos de SQL Server
Management Studio y restaurar la última versión de la base de datos.
Figura 7: Añadir un nuevo nodo de pares.
En esta pantalla, Peer originarios ID se utilizan para la detección de conflictos. Esto
tiene que ser único a través de una topología de los P2P.
9. Haga clic derecho y seleccione la opción Gráfico Redibujar. Esto le dará una buena
representación visual sobre su topología, como se muestra en la Figura 8.
Figura 8: Después de configurar la configuración de P2P.
A diferencia de SQL Server 2005, ahora se puede visualizar fácilmente la topología de
replicación de P2P. Puede borrar y añadir nuevas topologías muy fácilmente. Además,
no tiene que parar todos los nodos antes de añadir un nuevo nodo.
10. Las siguientes dos pantallas le permitirán entrar en el Registro de Agente de
Seguridad Reader y distribución de la configuración de seguridad del agente.
11. El siguiente paso es sincronizar bases de datos. La mejor opción es la de restaurar
las bases de datos y no hacer nada a las publicaciones. (Opción 1 en la Figura 9) De lo
contrario, después de la restauración mantenga el archivo de copia de seguridad con
usted, ya que lo necesitará en este punto para la sincronización. (Opción 2 en la Figura
9)
Figura 9: Nuevos pares de inicialización.
12. Después de esta pantalla usted será llevado a la pantalla final y tendrá una pantalla
de conformación.
Figura 10: Conformación de creación P2p.
En esto usted puede ver que ha creado dos publicaciones adicionales además de la
publicación creada originalmente. También habrá seis suscripciones creadas entre tres
publicaciones.
Detección de conflictos
Conflicto de detección no estaba disponible en la replicación P2P en SQL Server 2005.
Esta fue la principal razón de DBAS para no utilizar replicación P2P. Todos los nodos
del par deben estar ejecutándose en SQL Server 2008 para tener detección del conflicto
permitida.
La detección de conflictos es gestionada por cada fila de la columna con una lista oculta
que identifica el carácter originario del par de nodo ID.
Advertencias
Cuando un conflicto ocurre en la réplica entre iguales, se levanta la alarma entre iguales
de la detección del conflicto. Se recomienda que se configure esta alarma para que se le
avise cuando se produce un conflicto.
1. Haga clic derecho y seleccione la opción del monitor de la réplica del lanzamiento.
2. En el monitor de la réplica, navegue a cualquier editor del P2P.
3. Seleccione la ficha de alerta y seleccione el botón Alertas de Conflictos. Usted será
llevado a la Figura 11. Este primer alerta es de igual a igual de alerta de detección de
conflictos. Seleccione el botón Configurar:
Figura 11: Configurar la replicación de Alertas
4. En la lengüeta de la respuesta, puede definir los operadores y los medios de la
notificación.
Limitaciones
La réplica entre iguales se puede ejecutar solamente en las ediciones Enterprise y
Developer de SQL Server. Como usted sabe, usted no puede utilizar la edición para
desarrolladores en un entorno de producción. Esto significa que para la aplicación de
P2P, hay un elemento de coste que se debe prestar atención.
Como cada nodo actúa como un editor y el suscriptor, habrá gran número de
suscripciones. El cuadro 1 muestra el número de subscripción basado en nodos. Este
cuadro indica que los nodos con más de diez nodos no son factibles:
Tabla 1: Nodos y Suscripciones
La figura 12 muestra el número de suscripciones vs nodos. En esto se puede ver hay una
relación exponencial entre los nodos y las suscripciones. Un gran número de nodos
significa que hay un gran número de suscripciones que puede dar lugar a problemas de
rendimiento. Por lo tanto, se recomienda tener menos de diez nodos en su configuración
de replicación P2P.
No está permitido hacer fila o columna de filtración en el filtrado de replicación P2P.
Esto significa que cada base de datos necesita todas las filas y todas las columnas.
Simplemente, tiene que replicar todos sus datos. Sin embargo, tiene la opción de no
incluir algunos objetos de la base de datos.
Una tabla puede ser utilizada en una sola topología P2P. Sin embargo, es poco probable
que una tabla se incluirá en dos o más topologías P2P.
Si quiere invertir su réplica del P2P de nuevo a la réplica de la fusión o a cualquier otra
topología de la réplica, no puede invertir directamente. En lugar de ello, necesita parar
la réplica del P2P y configurar de nuevo la réplica.
Figura 12: Nodos Vs. suscripción
Conclusión
Alegre, Santiago 3701-0148
Altube, Alejandro 3701-1197
Barrionuevo, Milva 1325-0212
Seguí, María Victoria 3701-0508
Zalazar, Sebastián 3601-3102
La Peer-to-Peer Replication es una característica que se implementa en SQL Server a
partir de la versión 2005, la misma garantiza mejoras en la disponibilidad y
rendimiento. En este escenario existen nodos (cada uno de ellos actúan como
publicadores y suscriptores). Esto es para evitar el problema de que algún publicador se
caiga.
La configuración es sencilla, consta de Habilitar la P2P Replication y luego configurar
la topología de configuración P2P, además de la interfaz de usuario; también tiene un
nuevo método para detectar los conflictos entre los nodos P2P.
Sql Server 2008 permite la creación de nodos con una interfaz de visualización mas
accesible que en sql Server 2005. Además permite agregarlo sin necesidad de parar los
nodos que se encuentren ejecutando en ese momento.
La detección de conflictos en nodos se encuentra en esta nueva versión. Para ello es
necesario configurar unas alertas que avisen cuando se produce un conflicto. Esta
configuración es de fácil interpretación para el usuario.
Como cada nodo actúa como un editor y el suscriptor, habrá gran número de
suscripciones. En esto se puede ver que hay una relación exponencial entre los nodos y
las suscripciones. Un gran número de nodos significa que hay un gran número de
suscripciones que puede dar lugar a problemas de rendimiento. Por lo tanto, se
recomienda tener menos de diez nodos en su configuración de replicación P2P.
Martínez Leonardo 1330-0238
Navarro Noelia 3901-2530
Pirovano Varela Matías 3801-0113
Rojas Florencia 3901-2565
Scioli Laura 3101-2258
Vega Nicolás 3801-2095
La replicación transaccional de punto a punto fue diseñada para aplicaciones que
pueden leer o modificar los datos en cualquiera de las base de datos que interactúan en
la réplica. Generalmente está réplica es utilizada para todo lo que es comercio
electrónico, ya que para estas aplicaciones pueden distribuir las consultas que leen datos
entre las distintas replicas de la Base de Datos y así mejorar su rendimiento. Además, si
algunos de los servidores que maneja las base de datos no se encuentra activo puede
crearse una aplicación que dirija el volumen de datos hacia otro servidor que contienen
copias idénticas e estos 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 supresión para la topología es similar al de un solo nodo, porque al final
todos los cambios se propagan a todos los nodos.