REPLICADOR DE REGISTROS PARA BANCO DE DADOS MYSQL Acadêmico: Heino Soehn Orientador: Alexander Roberto Valdameri Roteiro • • • • • • • • • Introdução; Objetivos; Fundamentação Teórica; Especificação e Desenvolvimento; Operacionalidade da Implementação; Resultados e Discussões; Conclusão; Extensões; Demonstração do Sistema. Introdução • • • • Avanço tecnológico; Estrutura das empresas; Sistemas multi-empresas; Compartilhamento de informações. Objetivos Objetivo Geral Ferramenta de replicação de registros para SGBD MySQL, visando melhorar e automatizar o processo de compartilhamento de informações. Específicos: a) diminuir os esforços de recursos operacionais (pessoas) envolvidos; b) prover agilidade na distribuição da informação entre as unidades envolvidas na replicação de dados. Fundamentação Teórica • Sistemas de banco de dados; • Replicação de dados; • Linguagem procedural do MySQL. Trabalhos Correlatos • • • João Batista Gianisini Júnior (2006) descreve o desenvolvimento de um framework para replicação de dados entre bancos heterogêneos; Malcus Otávio Quinoto Inhof (2007) descreve o desenvolvimento de uma aplicação para replicação de dados no SGBD PostgreSQL; Bruno Pêsso Caldeira (2006) descreve um estudo sobre a replicação nativa do MySQL. Replicação Nativa do MySQL Levantamento de informações Processo de Replicação Especificação Requisitos funcionais RF01: A aplicação deve permitir efetuar login na aplicação. RF02: A aplicação deve permitir executar teste de conexão com o MySQL. RF03: A aplicação deve permitir cadastrar perfis de replicação. RF04: A aplicação deve permitir logar com outro usuário caso usuário conectado não possua privilégios suficientes para configurar o perfil do banco de dados selecionado. RF05: A aplicação deve permitir ao usuário configurar quais tabelas e campos deverão ser replicados entre as Unidades do perfil. Caso de Uso UC01 UC01 UC02 UC03 UC03 Especificação Requisitos funcionais RF06: A aplicação deve permitir ativar a replicação de cada perfil de replicação. RF07: A aplicação deve permitir desativar a replicação de cada perfil de replicação. RF08: A aplicação deve permitir a emissão de um relatório com detalhamentos da configuração da replicação. RF09: A aplicação deve executar a replicação de registros de acordo com as configurações realizadas. Caso de Uso UC03 UC03 UC04 UC05 Especificação Requisitos não funcionais RNF01: A aplicação deve utilizar banco de dados MySQL. RNF02: A aplicação deve criar as rotinas de replicação de dados somente para SGBD MySQL versão 5.1 ou superior. RNF03: A aplicação deve rodar em Sistema Operacional Microsoft Windows. RNF04: A aplicação deve utilizar os usuários do MySQL para o login na aplicação. Especificação Regras de negócio RN01: A aplicação deve tratar as restrições de banco de dados na configuração de replicação. RN02: A aplicação só deve permitir alteração das configurações caso a replicação do perfil selecionado estiver desativada. RN03: A aplicação deve verificar se o usuário conectado possui privilégios suficientes para configurar o perfil do banco de dados selecionado. RN04: As tabelas que se pretende replicar devem possuir como característica um campo identificador da unidade para ser usado como parâmetro na replicação. Requisitos RF05 RF05, RF06 e RF07 RNF04 e RF04 RF05 Casos de Uso - Usuário Caso de Uso – Event Scheduler Modelo Entidade Relacionamento Ferramentas utilizadas • • • • • • Linguagem Delphi; SGBD MySQL; Enterprise Architect MySQL Workbench; HeidiSQL; Report Builder; Técnicas - Trigger Técnicas - Stored Procedure Técnicas - Event Operacionalidade Operacionalidade Resultados e Discussões Ferramentas Framework Replicação Replicação Aplicação de replicação PostgreSQL Mysql desenvolvida Sistema Operacional Windows Windows e Linux Windows e Linux Windows Heterogeneidade do Banco de dados Sim Não Não Não Replicação fragmentada Não Não Não Sim Processo síncrono Não Não Não Não Replicação bidirecional Sim Não Sim Sim Camada Aplicação Aplicação Banco de dados Banco de dados Resultados e Discussões Registros afetados simultaneamente Até 10 registros 20 registros 50 registros 100 registros Tempo até a sincronização 1 segundo 2 segundos 4 segundos 8 segundos Conclusão • Objetivos atingidos; • Desafios; • Relevância Pessoal. Extensões • • • • • Execução em outros SO; Otimizar Stored Rotines; Replicação em banco dados distribuídos; Replicação para outros SGBDs; Implementar tela para configurar e monitorar o histórico de replicação com indicadores da performance da sincronização; • Implementar rotina para sincronizar os registros do passado para certificar-se que a base de dados inicial está sincronizada ao ativar o serviço de replicação. Demonstração do Sistema