Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados

27
Alta Disponibilidade e Tolerância a Falhas: Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados uma abordagem em Banco de Dados Prof. Alex Camargo [email protected] UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ENGENHARIA DE COMPUTAÇÃO

Transcript of Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados

Page 1: 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

Page 2: Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados

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

Page 3: Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados

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

Page 4: Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados

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

Page 5: Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados

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

Page 6: Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados

Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo

Page 7: Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados

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

Page 8: Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados

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)

Page 9: Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados

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

Page 10: Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados

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

Page 11: Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados

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

Page 12: Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados

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

Page 13: Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados

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

Page 14: Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados

Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo

Page 15: Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados

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

Page 16: Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados

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

Page 17: Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados

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

Page 18: Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados

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

Page 19: Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados

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

Page 20: Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados

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

Page 21: Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados

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

Page 22: Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados

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

Page 23: Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados

Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo

Page 24: Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados

MySQL Cluster

Vamos para a prática...

Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo

Page 25: Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados

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

Page 26: Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados

Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo

Page 27: Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados

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)

[email protected]