En SQL Server existen 4 formas básicas de alta disponibilidad y con este post, intento desgranar las diferencias entre ellas.

Replicación:  Este método permite replicar el contenido de una base de datos en otros servidores. Principalmente se utiliza para replicar una parte de una base de datos en otras bases de datos de otros servidores, o incluso en móviles o pdas. La gran ventaja de este método es que se puede afinar hasta el último detalle respecto el qué queremos replicar, ya sea una base de datos, una tabla o incluso una consulta. Otra de las grandes ventajas de este método es que podemos replicar en ambos sentidos si utilizamos el modo Merge y resolvemos los conflictos.  Como desventaja, que no permite hacer failover automáticamente.

Log Shipping: Este método permite pasar de un servidor a otros los cambios en el log del primero. La gran ventaja de este método es que las máquinas secundarias pueden estar en modo lectura, cosa que en el mirror no puede ser. Otra gran ventaja es que las secundarias pueden ser más de una máquina. Como desventaja, que no hace el failover automáticamente.

http://miblogtecnico.wordpress.com/2012/05/30/alta-disponibilidad-con-log-shipping-en-sql-server/

Mirror (Espejo): Este método permite hacer una réplica exacta de una base de datos de un servidor a otro. La gran ventaja de este método es que permite el failover automático sin intervención humana (siempre que se instale un tercer servidor witness). De hecho, en la cadena de conexión de las aplicaciones de .NET, podemos especificar cuando conectamos con la aplicación el servidor de sql al que nos conectamos y un failover partner, osea un servidor mirror para que en caso de failover, la aplicación pueda reconectar automáticamente al otro servidor.  La desventaja del mirror, respecto el log shipping y la replicación, es que sólo podemos tener una máquina secundaria o mirror y que esta no es accesible y no podemos tenerla en modo lectura.

http://msdn.microsoft.com/es-es/library/system.data.sqlclient.sqlconnection.connectionstring(v=vs.80).aspx

http://miblogtecnico.wordpress.com/2012/06/18/alta-disponibilidad-con-mirror-en-sql-server/

Cluster: Es el método por excelencia cuando hablamos de alta disponibilidad y se hace utilizando el propio cluster de Windows. La gran ventaja de este método es que el ámbito del cluster es toda la instancia, a diferencia de los otros métodos que son a nivel de base de datos o de tablas. También que permite el failover automático utilizando el mismo nombre de instancia por lo que el failover para las aplicaciones es prácticamente transparente. La principal desventaja de este método es que hace falta un hardware especializado y un medio común tal como una cabina de discos, por lo que este método es caro.

  Ámbito Nº Servidores Failover aut. Disponible repl. Hardware
Replicación Tabla Varios No Sencillo y barato
Log Shipping Base de datos Varios No Sí en modo lect. Sencillo y barato
Mirror Base de datos 2 Sí (witness) No Sencillo y barato
Cluster Instancia 16 No Específico y caro

Tabla resumen de las opciones de alta disponibilidad en SQL Server

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

%d personas les gusta esto: