Quais são as principais diferenças entre espelhamento e clustering de failover?
Que tipo de problema cada um resolve e em que tipo de cenários cada um é recomendado em detrimento do outro?
Quais são as principais diferenças entre espelhamento e clustering de failover?
Que tipo de problema cada um resolve e em que tipo de cenários cada um é recomendado em detrimento do outro?
O espelhamento é uma tecnologia que aumenta a alta disponibilidade dos bancos de dados do usuário e cria uma cópia do banco de dados de origem que é mantida em tempo real. Isso é feito entregando todos os registros de log de transações ativas ao servidor espelho.
Do MSDN :
"O espelhamento de banco de dados é principalmente uma solução de software para aumentar a disponibilidade do banco de dados. O espelhamento é implementado por banco de dados e funciona apenas com bancos de dados que usam o modelo de recuperação completa. Os modelos de recuperação simples e bulk-logged não oferecem suporte ao espelhamento de banco de dados. Espelhamento de banco de dados tem suporte no SQL Server Standard e Enterprise."
Clustering é uma tecnologia que fornece alta disponibilidade para toda a instância do SQL Server. Isso significa que é possível ter dois servidores com estrutura idêntica (SO, aplicativos, serviços, service packs, patches...etc) e com armazenamento compartilhado (os próprios dados).
Do MSDN :
"O clustering de failover do SQL Server fornece suporte de alta disponibilidade para uma instância inteira do SQL Server. Os clusters de failover do SQL Server são construídos sobre os clusters de failover do Windows Server. Para criar um cluster de failover do SQL Server, você precisa primeiro criar o cluster de failover subjacente do Windows Server ."
Aqui está um curso da Microsoft Virtual Academy sobre alta disponibilidade oferecido hoje pela MS: Compreendendo as soluções de alta disponibilidade da Microsoft .
O espelhamento está no nível do banco de dados. Uma desvantagem é que, mesmo quando configurado para alta segurança com failover automático, você ainda precisará ter scripts para copiar trabalhos, logins, alertas e assim por diante do principal para o servidor espelho. Os clientes precisam incluir os detalhes do espelho nas cadeias de conexão para facilitar os failovers. As vantagens do espelhamento incluem a correção automática de páginas corrompidas e o armazenamento não é um SPOF. Descobri que os failovers automáticos com espelhamento são mais rápidos do que com clustering (o que exige uma reinicialização completa do serviço).
O clustering permite um failover de nível completo, incluindo bancos de dados do sistema. É transparente para os clientes. A desvantagem do clustering é que ele requer armazenamento compartilhado, geralmente uma SAN que é um SPOF e costuma ser cara.