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; Esse tema foi proposto pelo professor André Vinicius. Eu queria um tema voltado a área de banco de dados, que é a área onde eu atuo hoje na INFOX, como DBA. Na infox tivemos um problema de desempenho com um cliente, onde temos uma média de 1600 acessos simultâneos. E Replicação de Banco de Dados é uma das possíveis soluções pra esse problema. Então resolvi estudar esse tema.
Introdução Justificativa Teoria x Prática Temos alguns modelos propostos pela literatura, porém há muita diferença entre Teoria e Prática
Introdução Objetivo Estudar a disciplina Replicação de Bancos de Dados, suas principais estratégias e apresentar as implementações realizadas por SGBDs no mercado.
X Introdução Metodologia Bibliográfico Prático - Bibliográfico Foram estudados outros trabalhos, artigos, livros e ferramentas. Prático As técnicas estudadas foram aplicadas em diferentes Sistemas Gerenciadores de Banco de Dados (SGBD)
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
Referencial Teórico Arquiteturas Primary Copy (Mestre/Escravo) Update Everywhere
Referencial Teórico Primary Copy As atualizações só podem ser feitas na cópia primária.
Referencial Teórico Update Everywhere As atualizações podem ser feitas em qualquer servidor.
Referencial Teórico Estratégias de Propagação Eager Replication (Replicação ansiosa) Lazy Replication (Replicação preguiçosa)
Esratégias de Propagação Referencial Teórico Arquiteturas x Estratégias Esratégias de Propagação Arquitetura Eager Primary Copy Lazy 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 PostgreSQL Proprietário Versão 2008 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; 3 papéis: Publicador, Distribuidor e Assinante.
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. Há casos em que a replicação possa partir de uma cópia secundária para a cópia primária, ferindo o modelo proposto pela literatura.
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; O modo paralelo (Parallel Mode) é um modo avançado no qual os dados são distribuídos entre os servidores. Desta forma, cada servidor contém uma parte diferente do banco de dados.
PostgreSQL Pgpool-II O Pgpool é um middleware que cria uma camada entre o PostgreSQL e a Aplicação. Um JDBC
PostgreSQL Slony-I Trigger; Lazy Primary Copy; O Slony-I é a única solução para replicação assíncrona no PostegreSQL sendo mantida.
PostgreSQL PGCluster Eager Primary Copy; Três servidores Replication Server; Load Balance Server; PostgreSQL; A principal vantagem do PGCluster sobre o Slony-I é que o PGCluster é um patch que se integra ao PostgreSQL, passando a fazer parte dele. Isso faz com que o PGCluster tenha acesso a todos os recursos do PostgreSQL com facilidade.
PostgreSQL Postgres-R Eager Primary Copy (multi); Mais confiável; Patch; Vários mestres.
PostgreSQL Considerações Implementa todos as arquiteturas e estratégias propostas no trabalho; implementam todos os modelos e estratégias propostas no trabalho. Possui ferramentas que trabalham com conceitos mais avançados, como clustering.
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.