Trabalho de banco de dados
Replicação - Benefícios de uma arquitetura de banco de dados replicada para aplicações corporativas (múltiplos sites) Roteiro Apresentação Conceitos de replicação Migração de aplicações centralizadas para distribuídas usando replicação Trade-offs do uso de replicação Estudo de casos práticos Apresentação Experiência com desenvolvimento de aplicações em diversas áreas de negócio (20 anos): Desenvolvimento de diversas aplicações sob-encomenda (COBOL, Dataflex, SQLWindows, PHP, J2EE/Java) Desenvolvimento de 4 sistemas integrados de gestão empresarial - mini-ERPs (Dataflex, SQLWindows, J2EE/Java Conceitos
O que é replicação de dados ? Duplicar, fazer múltiplas cópias gerenciadas de dados com objetivos de: Descentralização de aplicações Hot-backup de servidores de banco de dados backup • • • • • • Balanceamento de carga Data warehousing Integração de sistemas heterogêneos Benefícios que um bom modelo de replicação procura proporcionar: Alta disponibilidade Alto desempenho
Eliminar o problema de dados inconsistentes decorrentes da integração tardia entre sistemas Conceitos • • • • • • • • Problemas a gerenciar em um modelo replicado Escalabilidade Inconsistências Classificação de softwares replicadores de dados Replicadores “eager” (síncronos) Replicadores “lazy” (assíncronos) Replicadores “Master “Master-slave” Replicadores “Multi-master”
Replicadores “eager” (síncronos)
Replicadores imediatos / síncronos
A transação só é concluída após todos os servidores fazerem commit (2PC) • • • • • Garante consistência de transação entre servidores Baixa escalabilidade Alto custo (TCO) Indisponibilidade em caso de queda de rede Muito pesquisado nos últimos 10 anos, várias implementações, mas considerado impraticável para a maioria dos ambientes de produção
Replicadores “lazy” (Assíncronos)
Replicadores lentos / assíncronos A transação é concluída localmente e depois replicada. • • • • • Alta escalabilidade Não garante consistência de transação entre