AVALIAÇÃO DO INDICADOR DE DESEMPENHO DE BANCOS DE DADOS DISTRIBUÍDOS COM O USO DE REPLICAÇÃO DE DADOS ALOCADOS EM UMA REDE WIRELESS ANUÁRIO DA PRODUÇÃO DE INICIAÇÃO CIENTÍFICA DISCENTE Vol. 13, N. 20, Ano 2010 Igor Fonseca Paixão Prof. Teresinha Planez Diniz da Silva Curso: Ciência da Computação CENTRO UNIVERSITÁRIO ANHANGUERA DE CAMPO GRANDE UNIDADE 1 RESUMO Este projeto propõe aferir a performance de uma base distribuída instanciada em uma rede Wireless. A partir de um estudo de caso, uma base de dados que contextualiza o uso de sistemas distribuídos foi produzida e modelada, e, posteriormente, mecanismos de replicação foram agregados. Expressões na linguagem SQL, com grau de complexidade diferenciada, foram codificadas a fim de serem utilizadas em testes e aferição de resultados. Os resultados obtidos apresentaram um acréscimo de tempo insignificante ao aplica técnicas de replicação de dados, permite concluir que o indicador otimização não foi comprometido. Palavras-Chave: Desempenho. Banco de dados distribuído; Replicação; Anhanguera Educacional Ltda. Correspondência/Contato Alameda Maria Tereza, 4266 Valinhos, SP - CEP 13278-181 [email protected] Coordenação Instituto de Pesquisas Aplicadas e Desenvolvimento Educacional - IPADE Publicação: 5 de novembro de 2012 Trabalho realizado com o incentivo e fomento da Anhanguera Educacional 329 330 Avaliação do indicador de desempenho de bancos de dados distribuídos com o uso de replicação de dados alocados em uma rede wireless 1. INTRODUÇÃO A dependência da sociedade da informação em relação à produção de informações contendo volumes significativos de dados vem requerendo a produção de banco de dados cada vez mais robustos, seguros, com alta disponibilidade e performance gerenciado por uma estrutura maior denominada sistema de informação. O'Brien (2004) define sistema como um grupo de elementos inter-relacionados ou em interação que forma um todo unificado, sendo necessário alocar diversos recursos entre eles, recursos de dados. Entre os diversos componentes de um sistema de informação encontra-se o banco de dados, estrutura lógica de armazenamento. Diversas tecnologias são agregadas atualmente de modo a garantir tais características, porém, a inserção de modo desenfreado pode comprometer determinados indicadores de qualidade. Nesse contexto deve-se considerar, também, a mobilidade oferecida pela computação móvel. A ausência de um planejamento, ou um planejamento centralizado, pode ser a principal causa do comprometimento dessa performance. A tecnologia de Banco de Dados Distribuídos (BDD) é uma das tecnologias disponíveis no mercado que atende a tais características e prevê a organização de dados em células com processamentos distintos, garantindo alta disponibilidade dos dados. Banco de Dados Distribuídos, segundo Navathe (2005), pode ser definido como uma coleção de múltiplos Bancos de Dados logicamente inter-relacionados e distribuídos por uma rede de computadores, figura 1. O compartilhamento de dados é a principal vantagem da criação de um Banco de Dados Distribuídos e a provisão de um ambiente em que usuários de um site ou nodo podem ser capazes de acessar dados resididos em outros sites, afirma SILBERSCHATZ (2006). Figura 1 – Arquitetura de um banco de dados distribuído Conforme o volume de dados distribuídos cresce, a necessidade de integração entre essas diversas fontes aumenta, tornando importante o uso de técnicas de Anuário da Produção de Iniciação Científica Discente Vol. 13, N. 20, Ano 2010 p. 329-336 Igor Fonseca Paixão, Teresinha Planez Diniz da Silva 331 gerenciamento de bancos de dados distribuídos para, virtualmente, formar um grande banco de dados a partir de segmentos isolados ou independentes. Atualmente, o crescimento de recursos para a disponibilidade de dados através de meios de comunicação como a Internet contribui diretamente para o desenvolvimento de banco de dados distribuídos. A tecnologia dos bancos de dados distribuídos prevê a organização em células de dados, com processamentos distintos garantindo a alta disponibilidade dos dados. A replicação de dados vem garantir esse indicador, porém a otimização continua sendo um elemento menosprezado. O Banco de dados distribuídos (BDD) pode ser definido como uma coleção de banco de dados logicamente inter-relacionados distribuídos por uma rede de computador e que cooperam na execução de tarefas. A implantação de uma base de dados distribuída oferece vantagens, sendo elas (NAVATHE, 2005). Gerenciamento de dados distribuídos com níveis diferentes de transparência. Transparência de distribuição e de redes. Transparência de fragmentação. Melhoria de confiabilidade e disponibilidade. Melhoria de desempenho. O compartilhamento de dados é a principal vantagem da criação de um sistema de banco de dados distribuídos é a provisão de um ambiente em que usuários de um site podem ser capazes de acessar dados residindo em outros sites. (SILBERSCHATZ 2006). Os bancos de dados distribuídos são constituídos de inúmeros centros de dados, podendo a replicação ser realizada em cada centro. Nesse caso são categorizadas como um espelhamento; ou parcial, onde apenas os índices são replicados. Os Sistemas gerenciadores de Banco de dados Relacionais disponibilizam ferramentas para o gerenciamento das ações que incorporam a replicação de dados. O SQL Server 2005 implementa três tipos de replicações: a) Snaptshot replicação - São programados intervalos de tempo para a execução da replicação. Segundo Batisti (2001) não é indicado para grandes volumes de dados; exige pouco processador. b) Transactional Replication – A replicação ocorre somente nos dados alterados no Publisher (unidade de replicação). A vantagem desse tipo informa Batisti (2001) é a redução do tempo de latência e a possibilidade de manter diversas bases de dados replica. c) Merge Rerplication – São adicionados mecanismos de controles de modo que alterações efetuadas em uma das réplicas são repassadas as demais. Anuário da Produção de Iniciação Científica Discente Vol. 13, N. 20, Ano 2010 p. 329-336 332 Avaliação do indicador de desempenho de bancos de dados distribuídos com o uso de replicação de dados alocados em uma rede wireless Watson (2004) afirma que um projeto de banco de dados distribuídos é fundamentado nos princípios de fragmentação e replicação e pode-se implementar 4 tipos de acesso aos dados, são eles: solicitação remota, transação remota, transação distribuída e solicitação distribuída. A distribuição de dados é totalmente transparente ao usuário. Replicação significa o armazenamento de várias cópias de uma relação ou fragmento. Ramakrishnan (2008) afirma que os dados mantidos em células de processamentos tornam a composição das informações mais velozes, considerando o armazenamento de uma cópia local. Outra vantagem atribuída é a disponibilidade dos dados, pois se uma réplica fica inativa pode-se encontrar um espelho em outra célula. Este artigo esta organizado em seções: Introdução, objetivo, metodologia, desenvolvimento, resultados e considerações finais. 2. OBJETIVO O presente projeto teve por objetivo aferir composições das informações em um banco de dados distribuídos subsidiado em uma rede Wireless. Para atender ao objetivo geral proposto, identificaram-se os seguintes objetivos específicos: 3. Modelar e implementar um banco de dados distribuídos e povoar com dados fictícios. Implementar mecanismo de replicação de base de dados em um banco de dados distribuídos. Aferir resultados do indicador eficiências considerando a implantação de recursos de otimização. METODOLOGIA A estruturação do projeto foi organizada em etapas, sendo elas: a) Definição do estudo de caso - A produção de um contexto que relata necessidades da implantação de uma base de dados distribuídas. A partir desse contexto será modelada a estrutura de armazenamento fazendo uso dos princípios do modelo relacional e o desenvolvimento do diagrama de caso de uso com o objetivo de definir a abrangência do sistema. Será utilizado o SGBD (sistema Gerenciador de Banco de Dados) SQL Server 2005. b) A população da base de dados será realizada a partir de procedimentos de banco produzindo geração automática dos dados. Esses dados serão produzidos de modo aleatórios. c) Mapeamento (Topologia física e lógica) e implementação de uma rede Anuário da Produção de Iniciação Científica Discente Vol. 13, N. 20, Ano 2010 p. 329-336 Igor Fonseca Paixão, Teresinha Planez Diniz da Silva 333 Wireless d) Modelagem e implementação da composição das informações a partir da linguagem SQL. Foi definido 10 expressões SQL, envolvendo funções agregadas, subconsultas, procedimento de bancos (Inserção, exclusão, alteração) e) Implementação da Replicação da base dados f) Aferição da performance da composição das informações efetivando comparação com a implantação ou não, da replicação da base de dados. A apresentação de resultados fará uso de ferramentas estatísticas. Será comparado com e sem a utilização do mecanismo de replicação de base de dados. 4. DESENVOLVIMENTO Foi projetada uma base de dados constituída de 6 tabelas inter-relacionadas, figura 2 e implementada fazendo uso do sistema Gerenciador de Banco de Dados SQL Server versão 2005. Os dados fictícios foram inseridos, automaticamente, por intermédio da execução de uma stored procedure, contemplando 20.000 registros na tabela Tb_ItensVenda. Figura 2 – Modelo físico da base de dados Após a inserção de registros, 10 procedimentos de bancos envolvendo as ações de inserção, figura 3, alteração e exclusão foram projetadas, testadas e aferidas considerando o indicador tempo de resposta ao usuário. Figura 3 – Script do procedimento de inclusão de registro na base de dados Anuário da Produção de Iniciação Científica Discente Vol. 13, N. 20, Ano 2010 p. 329-336 334 Avaliação do indicador de desempenho de bancos de dados distribuídos com o uso de replicação de dados alocados em uma rede wireless Técnicas de replicação de base de dados foram aplicadas e novamente executadas as operações, inicialmente a base de dados foi Startada em uma rede local e posteriormente integrada com equipamentos de rede wireless. Para a aferição do indicador tempo foi utilizado à ferramenta L Server Profiler, SQL Server Management Studio presente na própria estrutura do SGBD, figura 3. Figura 3 – Implementação da replicação transacional com o uso do assistente do SQL Server 2005 5. RESULTADOS A partir de um contexto que justifica o uso de um banco de dados distribuídos, a modelagem da estrutura de armazenamento foi o primeiro resultado do projeto de pesquisa. A ferramenta gráfica SQL Server Management Studio foi utilizada para o desenho das tabelas do banco de dados e posteriormente a execução do script de criação do banco, tabelas e povoamento dos dados. Para a implementação da estrutura física da base distribuída, dois computadores com a mesma especificação física foram utilizados, sendo da marca CCE, processador Core 2 duo T5800 2GHz, disco rígido de 250 GB, memória de RAM 2 GB, sistema operacional 32 bits e uma rede com/sem fio de 5 megabits. Em uma das máquinas instalou-se o SQL Server 2005 Standart, que serviu de servidor de Publicação na replicação e na outra o SQL Server 2005 Express, que serviu de servidor de Assinatura. Com a estrutura física planejada, os testes iniciaram primeiramente na base de dados com fio e sem replicação. Conforme é demonstrado no quadro 1 a operação de inserção resultou em uma diferença de tempo de 103 milésimo de segundos. Considerando a operação de alteração a diferença de tempo foi menor 134 milésimo de segundos. Anuário da Produção de Iniciação Científica Discente Vol. 13, N. 20, Ano 2010 p. 329-336 Igor Fonseca Paixão, Teresinha Planez Diniz da Silva 335 Quadro 1 – Resultados da performance (milissegundos) das ações de banco de dados em um rede local, fazendo uso do recurso de replicação ou não Sem replicação de dados Com replicação de dados Processo de Inserção (Um único registro) 53 156 Processo de Alteração (Um único registro) 64 134 Processo de deleção (Um único registro) 55 126 Operações de Banco de dados Em seguida os testes foram executados na base de dados acessados a partir de uma estrutura de rede wireless. A operação de inserção resultou em uma diferença de 96 milésimo de segundos, quadro 2. Quadro 2 – Resultados da performance (milissegundos) das ações de banco de dados acessada a partir de uma estação de rede sem fio , fazendo uso do recurso de replicação ou não Sem Replicação dados Operações de Banco de dados de Com replicação de dados Processo de Inserção (Um único registro) 61 157 Processo de Alteração (Um único registro) 67 135 Processo de deleção (Um único registro) 60 125 A replicação de dados utilizada em ambos os testes foi a do tipo Transacional. Com a execução de sentenças de atualização (update), inserção (insert) e exclusão (delete), pôde-se aferir com o auxílio da ferramenta SQL Database Engine Tuning Advisor que os resultados foram mais satisfatórios com a base de dados alocada em uma rede com fio tanto com replicação quanto sem replicação. As diferenças, em milissegundos é demonstrado no gráfico 1 Gráfico 1 – Diferenças em milissegundos da aplicação dos recursos de replicação de dados em uma rede local e uma rede wireles Anuário da Produção de Iniciação Científica Discente Vol. 13, N. 20, Ano 2010 p. 329-336 336 Avaliação do indicador de desempenho de bancos de dados distribuídos com o uso de replicação de dados alocados em uma rede wireless 6. CONSIDERAÇÕES FINAIS Em seu desfecho, este artigo conclui que sistemas distribuídos, juntamente a tecnologia de redes remotas de computadores, representam uma alternativa válida para aumentar o desempenho dos Sistemas de Banco de Dados em uma organização, resultando no conseqüente alívio dos gastos com a infra-estrutura de redes de computadores cabeadas, do processamento e da capacidade de armazenamento dos servidores. O banco de dados distribuídos garante a concentração e integração da informação, fazendo com que os dados estejam atualizados, disponíveis e com segurança sempre que necessário, oferecendo também a possibilidade de crescimento modular devido a uma necessidade repentina de expansão. As técnicas apresentadas de replicação de dados que o SGBD SQL Server 2005 disponibiliza é aplicado para garantir a confiabilidade de funcionamento do sistema e a disponibilidade de um site atualizado do sistema distribuído quando necessário. Observa-se também que o SQL Server 2005 dispõe de inúmeras soluções complexas para otimizar o servidor e suas consultas. Portanto, com estudos fundamentados em conceitos de índices, estatísticas e nas ferramentas apresentadas, temse um grande ganho na otimização do banco de dados. Pois atualmente este é um grande problema quando se diz em gargalos e performance de servidores de banco de dados. Com a aplicação dos recursos de replicação de dados ocorre uma perda insignificante no desempenho de resposta, independente do tipo de acesso aos dados, porém o custo e benefício de resguardar a informação a aumentar a sua disponibilidade justifica sua implantação. REFERÊNCIAS BATTISTI, Júlio. SQL Server 2005: Administração & Desenvolvimento, Curso completo. Rio de Janeiro: Axcel Books do Brasil Editora, 2005. NAVATHE, Elmasari. Sistema de Banco de dados 4º ed. Pearson – Addison Wesley. São Paulo. 2005. O'BRIEN. James A. Sistema de Informação e as decisões gerenciais na era da Internet. 2º ed. Saraiva. São Paulo. 2004. RAMAKRISSHNAN, Raghu. Sistemas de gerenciamento de banco de dados. 3º Ed. São Paulo: MC Graw Hill, 2008. SILBERSCHATZ, Abraham. KORTH, Henry. Sistemas de banco de dados. Campus. Rio de Janeiro 2006. WATSON, Richard. Data Management – Banco de dados e organizações. 3º Ed. LTC, Rio de Janeiro, 2004 Anuário da Produção de Iniciação Científica Discente Vol. 13, N. 20, Ano 2010 p. 329-336