Aplicação de estratégias de Replicação de Bases de Dados em Sistemas Gerenciadores de Banco de Dados Matheus dos Santos Lima Msc. André Vinicius Rodrigues Passos Nascimento (Orientador) Plano de Apresentação • • • • Introdução Estrutura do trabalho Referencial Teórico Prática – SQL Server – PostgreSQL • Conclusão • Referências Introdução • Escolha do tema – Banco de Dados; – INFOX; Introdução • Justificativa – Teoria x Prática Introdução • Objetivo Introdução • Metodologia Bibliográfico Prático X Introdução • Referência teórica – BERNSTEIN, A. B.; NEWCOMER, E. • Principles of Transaction Processing; – GARCIA-MOLINA, H.; ULLMAN, J. D.; EIDOM, J. • Implementação de Sistemas de Bancos de Dados; – GRAY, J. N.; HELLAND, P.; O'NEIL, D. S. P. • The dangers of replication and a solution; – WIESMANN, M. • Database Replication Techniques: A Three Parameter Classification; • Understanding replication in databases and distributed systems; Estrutura do Trabalho • Técnicas de Replicação (Referencial Teórico) – Arquitetura – Estratégias de Propagação – Estratégias x Arquiteturas • SQL Server – Tipos de Replicação • PostgreSQL – Tipos de Replicação Referencial Teórico • Arquiteturas – Primary Copy (Mestre/Escravo) – Update Everywhere Referencial Teórico • Primary Copy Referencial Teórico • Update Everywhere Referencial Teórico • Estratégias de Propagação – Eager Replication (Replicação ansiosa) – Lazy Replication (Replicação preguiçosa) Referencial Teórico • Arquiteturas x Estratégias Arquitetura Esratégias de Propagação Eager Lazy Primary Copy Primary Copy Eager Lazy Update Everywhere Update Everywhere Referencial Teórico • Eager Primary Copy Referencial Teórico • Eager Update Everywhere Referencial Teórico • Lazy Primary Copy Referencial Teórico • Lazy Update Everywhere Prática • SQL Server – Proprietário – Versão 2008 • PostgreSQL – OpenSource – Versões 8.2 e 8.3 SQL Server • Tipos de Replicação – Replicação de Instantâneo; – Replicação Transacional; – Replicação de Mesclagem; SQL Server • Replicação de Instantâneo SQL Server • Replicação de Instantâneo SQL Server • Replicação de Instantâneo SQL Server • Replicação de Instantâneo SQL Server • Replicação Transacional SQL Server • Replicação Transacional SQL Server • Replicação Transacional SQL Server • Replicação Transacional SQL Server • Replicação de Mesclagem SQL Server • Replicação de Mesclagem SQL Server • Replicação de Mesclagem SQL Server • Replicação de Mesclagem SQL Server • Considerações – Arquitetura Primary Copy; – Não implementa Update Everywhere – Lazy Replication e Eager iguais ao modelo proposto. PostgreSQL • Não tem suporte nativo a replicação; • Ferramentas que modificam o código-fonte; – – – – Pgpool-II Slony-I PGCluster Postgres-R PostgreSQL • Pgpool – – – – Raw; Pool de Conexões; Paralelo; Master/slave; PostgreSQL • Pgpool-II PostgreSQL • Slony-I – Trigger; – Lazy Primary Copy; PostgreSQL • PGCluster – Eager Primary Copy; – Três servidores • Replication Server; • Load Balance Server; • PostgreSQL; PostgreSQL • Postgres-R – Eager Primary Copy (multi); – Mais confiável; – Patch; PostgreSQL • Considerações – Implementa todos as arquiteturas e estratégias propostas no trabalho; Conclusão • Este trabalho estudou os modelos e estratégias de replicação de bancos de dados propostos pela literatura e o problema da implementação dessas estratégias num ambiente real. O estudo foi aplicado sobre o SQL Server 2008 e o PostgreSQL 8. • Trabalhos Futuros – estudo da implementação das estratégias de replicação de banco de dados em outros SGBDs do mercado, como Oracle 11g e DB2 Referências • BERNSTEIN, A. B.; NEWCOMER, E. Principles of Transaction Processing. San Francisco: Morgan Kaufmann Publishers, 1997. • CIPRIANI, O. N. REPLICAÇÃO DE BASES DE DADOS. Lavras: [s.n.], 2009. • GARCIA-MOLINA, H.; ULLMAN, J. D.; EIDOM, J. Implementação de Sistemas de Bancos de Dados. Rio de Janeiro: Editora Campus, 2000. • GRAY, J. N.; HELLAND, P.; O'NEIL, D. S. P. The dangers of replication and a solution. Preceedings of the 1996 ACM SIGMOD Internacional Conference on Management of Data. Montreal: SIGMOD. 1996. p. 173-182. • MISTRY, R.; MISNER, S. Introducing Microsoft SQL Server 2008 R2. Washington: Microsoft Press, 2010. • WIESMANN, M. Understanding replication in databases and distributed systems. Proceedings of 20th International Conference on Distributed Computing Systems. Taiwan: [s.n.]. 2000. p. 264-274.