Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados
-
Upload
alex-camargo -
Category
Software
-
view
72 -
download
2
Transcript of Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados
Alta Disponibilidade e Tolerância a Falhas: Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dadosuma abordagem em Banco de Dados
Prof. Alex [email protected]
UNIVERSIDADE FEDERAL DO PAMPACAMPUS BAGÉ
ENGENHARIA DE COMPUTAÇÃO
Sobre o professorFormação acadêmica:
Bacharel em Sistemas de Informação (URCAMP, 2010)
TCC: Web sistema integrado a uma rede social para academias de ginástica.
Orientador: Prof. Me. Abner Guedes
Especialista em Sistemas Distribuídos com Ênfase em Banco de Dados (UNIPAMPA, 2013)
TCC: Interligando bases de dados do sistema Controle de Marcas e Sinais utilizando o MySQL Cluster.
Orientadores: Prof. Me. Érico Amaral e Prof. Me. Rafael Bastos
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo
Sobre o professorFormação acadêmica:
Mestrando em Engenharia de Computação (FURG, 2016)
Linha de pesquisa: Bioinformática.
Orientador: Ainda não definido
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo
Sobre o professorAntes da UNIPAMPA:
Programador Web e DBA Local: Prefeitura Municipal de Bagé
Professor das disciplinas de Banco de Dados e Análise de SistemasLocal: Capacitar Escola Técnica
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo
Sobre o professorAtualmente:
Professor da disciplina de Algoritmos e Programação Turmas: Engenharia de Computação, Engenharia de Alimentos, Engenharia de Energias Renováveis e Ambiente, Engenharia Química, Engenharia de Produção e Licenciatura em Física
Professor da disciplina de Laboratório de Programação Turma: Engenharia de Computação
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo
Introdução A grande capacidade de se trabalhar com dados, armazená-los e distribuí-los de maneira eficiente, de modo que se tenha um maior proveito, vem sendo um desafio da computação distribuída.
Fonte: (DADOS PRIMÁRIOS, 2013)
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo
Banco de dados distribuído (BDD)
BDD pode ser definido como uma coleção de múltiplos bancos de dados logicamente relacionados e distribuídos sobre uma rede de computadores (OZSU; VALDURIEZ, 2001).
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo
Fonte: (TAING, 2007)
Arquitetura Os sistemas de banco de dados podem ser classificados, de acordo com suas arquiteturas, como (SILBERCHATZ; KORTH;SUDARSHAN, 2009):
Cliente-servidor: quando o SGBD reside em um sistema computacional chamado servidor, e interage com outros sistemas computacionais, que são os clientes.
Paralelos: quando utiliza em paralelo diversas CPUs e discos, com objetivo de ganhar velocidade no processamento e alta escalabilidade.
Móveis: quando o SGBD e o próprio banco de dados são aplicados em ambientes de computação móveis.
Distribuídos: quando o SGBD reside em diversos sistemas computacionais, podem ser conectados através de redes de alta ou baixa velocidade.
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo
Replicação de dados Quando se fala em replicação, o principal aspecto a ser tratado é a sincronia entre as réplicas. São encontradas duas classificações: a replicação síncrona e assíncrona.
Apesar da replicação ser uma ideia intuitiva, rapidamente compreensível, sua implementação muitas vezes é difícil.
Fonte: (COSTA, 2013)
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo
Replicação síncrona A grande vantagem deste tipo de replicação é a alta disponibilidade dos dados que são disponibilizados instantaneamente para todas as bases (BORTOLINI, 2004).
Pode ser executada pelo SGBD, ou em alguns casos, por um gerente distribuído (monitor de transações).
É recomendada para aplicações comerciais, tendo em vista seu alto poder de consistência;
A atualização do BD de origem só é confirmada após a efetivação em todos os BDs envolvidos na replicação, ou seja, temos um commit em duas fases (Two-Phase Commit).
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo
Replicação assíncrona Na replicação assíncrona as modificações executadas nos servidores são enviadas em um segundo passo.
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo
Replicação assíncrona Na replicação assíncrona as modificações executadas nos servidores são enviadas em um segundo passo.
É frequente deixar a cargo da aplicação usuária a tarefa de manter a consistência;
É uma estratégia adequada quando a conexão entre os servidores envolvidos não é permanente;
As propriedades ACID de uma transação não são garantidas quando se implementa replicação assíncrona com possibilidade de atualização em qualquer servidor.
Por se tratar de uma transação separada, pode ocorrer em minutos, horas ou dias após as modificações.
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo
Implementação e testes Esta seção tem como objetivo apresentar a ferramenta MySQL Cluster, além de expor passo a passo a solução proposta para distribuir as bases de dados do sistema Controle de Marcas e Sinais.
Um fato que deve ser mencionado é que ambas as ferramentas são regidas pela licença GPL (General Public License), portanto possuem código-fonte aberto.
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo
Ambiente de simulação Os experimentos distribuídos realizados neste trabalho foram desenvolvidos em um ambiente virtualizado através da ferramenta gratuita e de código-fonte aberto Virtual Box.
Fonte: (DADOS PRIMÁRIOS, 2013)
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo
Marcas e Sinais O Controle de Marcas e Sinais é um software que auxilia o registro e consulta de marcas e sinais utilizadas por produtores rurais.
Fonte: (DADOS PRIMÁRIOS, 2013)
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo
Marcas e Sinais O conceito do Software Público Brasileiro (SPB) é utilizado como um dos alicerces para definir a política de desenvolvimento, distribuição e uso de software pelo setor público do Brasil (CARDOSO; MEFFE; MARTINS, 2011).
Fonte: (DADOS PRIMÁRIOS, 2013)
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo
Marcas e Sinais Para que o sistema funcionasse apropriadamente de maneira distribuída foram necessárias algumas modificações no seu código-fonte.
Fonte: (DADOS PRIMÁRIOS, 2013)
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo
MySQL Cluster É uma tecnologia que permite a distribuição de SGBDs MySQL mantida atualmente pela Oracle. Entre suas vantagens, estão (MYSQL, 2013):
Foi projetado para oferecer alta disponibilidade e alta taxa de transferência;
Pode ser executado em diferentes tipos de hardware; É transparente para o usuário, para a sua aplicação e até
mesmo para o cliente MySQL; Disponível em versões gratuitas e edições comerciais, para
uma série de plataformas; Os sistemas operacionais de host não necessitam de quaisquer
módulos ou serviços incomuns para suportar a ferramenta.
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo
MySQL Cluster Basicamente, o MySQL Cluster é dividido da seguinte maneira: nó de gerenciamento, nó de dados e nó SQL.
Fonte: (DADOS PRIMÁRIOS, 2013)
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo
MySQL Cluster Inicialmente, foi feita a alteração do "ENGINE" das tabelas do banco de dados do Controle de Marcas e Sinais.
Fonte: (DADOS PRIMÁRIOS, 2013)
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo
MySQL Cluster
Vamos para a prática...
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo
ReferênciasBORTOLINI, C. A. Um Protótipo de Banco de Dados Distribuídos (Caso Expresso São Miguel). Trabalho de Conclusão de Curso (Graduação em Ciência da Computação).Universidade Comunitária Regional de Chapecó - Centro Tecnológico, 2004.
CARDOSO, J. L; MEFFE, C.; MARTINS, S. P. O Software Público Brasileiro. Revista Linux Magazine, noº 6, 2011.
COSTA, A. S. Um Protocolo Distribuído para Controle de Consistência em Bancos de Dados Replicados para Ambiente de Computação Móvel. Dissertação (Mestrado). Universidade de Fortaleza, 2010.
MELO, P. C. B. Desenvolvimento de um Sistema de Replicação de Dados entre Bancos de Dados Relacionais. Trabalho de Conclusão de Curso (Graduação em Engenharia de Computação). Universidade Federal do Rio Grande do Norte, 2010.
MYSQL. MySQL 5.0 Reference Manual: MySQL Proxy - Revisão: 35232. Disponível em: <http://dev.mysql.com/doc/refman/5.0/en/>. Acesso em: Mai/2013.
OLIVEIRA, V. F. Especificação e Implementação de um Modelo Assíncrono para Replicação, Propagação e Conciliação de Bases de Dados Distribuídas. Dissertação (Mestrado). Universidade Federal do Rio Grande do Norte, 2007.
OZSU, M.; VALDURIEZ, P. Princípios de Sistemas de Banco de Dados Distribuídos. Pearson - Prentice Hall, 2a edição, 2001.
SILBERCHATZ, A; KORTH, H. F.; SUDARSHAN, S. Sistemas de Banco de Dados. Pearson Makron Books, 1999.
SILVA, D. B. Interface para um Sistema Gerenciador de Transações Longas de Banco de Dados. Dissertação (Mestrado). Universidade Federal do Rio Grande do Sul, 2003.
TAING, N; Challenges in Distributed Systems. 2011. Disponível <http://www.lycog.com/distributed-systems/challenges-distributed-systems>. Acesso Abr/2013.
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo
Fim
Agradeço a atenção de todos.
Dúvidas, críticas ou sugestões? Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo
Por isso não desanimamos. Embora exteriormente estejamos a desgastar-nos, interiormente estamos sendo renovados dia após dia. (2 Coríntios 4:16)