SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
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 Camargo
alexcamargoweb@gmail.com
UNIVERSIDADE FEDERAL DO PAMPA
CAMPUS BAGÉ
ENGENHARIA DE COMPUTAÇÃO
Sobre o professor
Formaçã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 professor
Formaçã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 professor
Antes da UNIPAMPA:
 Programador Web e DBA
Local: Prefeitura Municipal de Bagé
 Professor das disciplinas de Banco de Dados e Análise
de Sistemas
Local: Capacitar Escola Técnica
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo
Sobre o professor
Atualmente:
 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ências
BORTOLINI, 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)
alexcamargoweb@gmail.com

Mais conteúdo relacionado

Mais procurados

Aula07 - Sistemas Distribuídos - Aula de Revisão da NP1
Aula07 - Sistemas Distribuídos - Aula de Revisão da NP1Aula07 - Sistemas Distribuídos - Aula de Revisão da NP1
Aula07 - Sistemas Distribuídos - Aula de Revisão da NP1Messias Batista
 
ACII - SL07 - Introducao aos sistemas distribuidos
ACII - SL07 - Introducao aos sistemas distribuidosACII - SL07 - Introducao aos sistemas distribuidos
ACII - SL07 - Introducao aos sistemas distribuidosUFPB
 
Alta disponibilidade com o oracle _11gpdf
Alta disponibilidade com o oracle _11gpdfAlta disponibilidade com o oracle _11gpdf
Alta disponibilidade com o oracle _11gpdfRodrigo Raposo
 
Sistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosSistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosrobsons75
 
Aula09 SD - Replicação e Consistência
Aula09 SD - Replicação e ConsistênciaAula09 SD - Replicação e Consistência
Aula09 SD - Replicação e ConsistênciaMessias Batista
 
Introdução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosIntrodução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosFrederico Madeira
 
Capítulo 2 - Sistemas Distribuídos - Coulouris
Capítulo 2 - Sistemas Distribuídos - CoulourisCapítulo 2 - Sistemas Distribuídos - Coulouris
Capítulo 2 - Sistemas Distribuídos - CoulourisWindson Viana
 
Sistemas Distribuídos - Aula 01
Sistemas Distribuídos - Aula 01Sistemas Distribuídos - Aula 01
Sistemas Distribuídos - Aula 01Arthur Emanuel
 
Bacula Enterprise Edition Backup
Bacula Enterprise Edition BackupBacula Enterprise Edition Backup
Bacula Enterprise Edition BackupTraining Tecnologia
 
Sistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – MiddlewareSistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – MiddlewareAdriano Teixeira de Souza
 
Aula04 Sistemas Distribuídos - Processos
Aula04 Sistemas Distribuídos - ProcessosAula04 Sistemas Distribuídos - Processos
Aula04 Sistemas Distribuídos - ProcessosMessias Batista
 
Introcucao aos Sistemas Distribuidos
Introcucao aos Sistemas DistribuidosIntrocucao aos Sistemas Distribuidos
Introcucao aos Sistemas DistribuidosValberto Carneiro
 
Sistemas Distribuidos, Middleware e RPC
Sistemas Distribuidos, Middleware e RPCSistemas Distribuidos, Middleware e RPC
Sistemas Distribuidos, Middleware e RPClimabezerra
 

Mais procurados (18)

Aula07 - Sistemas Distribuídos - Aula de Revisão da NP1
Aula07 - Sistemas Distribuídos - Aula de Revisão da NP1Aula07 - Sistemas Distribuídos - Aula de Revisão da NP1
Aula07 - Sistemas Distribuídos - Aula de Revisão da NP1
 
Conceitos basicos
Conceitos basicosConceitos basicos
Conceitos basicos
 
Clusters, o que é?
Clusters, o que é?Clusters, o que é?
Clusters, o que é?
 
ACII - SL07 - Introducao aos sistemas distribuidos
ACII - SL07 - Introducao aos sistemas distribuidosACII - SL07 - Introducao aos sistemas distribuidos
ACII - SL07 - Introducao aos sistemas distribuidos
 
Alta disponibilidade com o oracle _11gpdf
Alta disponibilidade com o oracle _11gpdfAlta disponibilidade com o oracle _11gpdf
Alta disponibilidade com o oracle _11gpdf
 
Sistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosSistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidos
 
Aula09 SD - Replicação e Consistência
Aula09 SD - Replicação e ConsistênciaAula09 SD - Replicação e Consistência
Aula09 SD - Replicação e Consistência
 
Introducao.2s
Introducao.2sIntroducao.2s
Introducao.2s
 
Introdução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosIntrodução aos Sistemas Distribuídos
Introdução aos Sistemas Distribuídos
 
Capítulo 2 - Sistemas Distribuídos - Coulouris
Capítulo 2 - Sistemas Distribuídos - CoulourisCapítulo 2 - Sistemas Distribuídos - Coulouris
Capítulo 2 - Sistemas Distribuídos - Coulouris
 
Sistemas Distribuídos - Aula 01
Sistemas Distribuídos - Aula 01Sistemas Distribuídos - Aula 01
Sistemas Distribuídos - Aula 01
 
Bacula Enterprise Edition Backup
Bacula Enterprise Edition BackupBacula Enterprise Edition Backup
Bacula Enterprise Edition Backup
 
Sistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – MiddlewareSistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – Middleware
 
Aula04 Sistemas Distribuídos - Processos
Aula04 Sistemas Distribuídos - ProcessosAula04 Sistemas Distribuídos - Processos
Aula04 Sistemas Distribuídos - Processos
 
Introcucao aos Sistemas Distribuidos
Introcucao aos Sistemas DistribuidosIntrocucao aos Sistemas Distribuidos
Introcucao aos Sistemas Distribuidos
 
Sistemas Distribuidos, Middleware e RPC
Sistemas Distribuidos, Middleware e RPCSistemas Distribuidos, Middleware e RPC
Sistemas Distribuidos, Middleware e RPC
 
Cap4 v2
Cap4 v2Cap4 v2
Cap4 v2
 
Planejamento rede
Planejamento rede Planejamento rede
Planejamento rede
 

Semelhante a Alta Disponibilidade em Banco de Dados

Explorando uma solução distribuída para o sistema Controle de Marcas e Sinais
Explorando uma solução distribuída para o sistema Controle de Marcas e SinaisExplorando uma solução distribuída para o sistema Controle de Marcas e Sinais
Explorando uma solução distribuída para o sistema Controle de Marcas e SinaisAlex Camargo
 
Cluster ha com banco de dados
Cluster ha com banco de dadosCluster ha com banco de dados
Cluster ha com banco de dadosMarcio Jonnes
 
Banco de Dados Ágeis e Refatoração
Banco de Dados Ágeis e RefatoraçãoBanco de Dados Ágeis e Refatoração
Banco de Dados Ágeis e Refatoraçãoelliando dias
 
Bancodedadosesgbds 140326151327-phpapp01
Bancodedadosesgbds 140326151327-phpapp01Bancodedadosesgbds 140326151327-phpapp01
Bancodedadosesgbds 140326151327-phpapp01Sugizo Akino
 
AVALIAÇÃO DE MODELOS DE ARQUITETURA DE WEB SITES DE ALTA ESCALABILIDADE
AVALIAÇÃO DE MODELOS DE ARQUITETURA DE WEB SITES DE ALTA ESCALABILIDADEAVALIAÇÃO DE MODELOS DE ARQUITETURA DE WEB SITES DE ALTA ESCALABILIDADE
AVALIAÇÃO DE MODELOS DE ARQUITETURA DE WEB SITES DE ALTA ESCALABILIDADEDavid Lojudice Sobrinho
 
Material Modelagem - Prof. Marcos Alexandruk
Material Modelagem - Prof. Marcos AlexandrukMaterial Modelagem - Prof. Marcos Alexandruk
Material Modelagem - Prof. Marcos AlexandrukHebert Alquimim
 
NoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas MonografiaNoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas MonografiaAugusto Giles
 
Aula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de DadosAula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de DadosVitor Hugo Melo Araújo
 
NoSQL x SQL: Bancos de Dados em Nuvens Computacionais
NoSQL x SQL: Bancos de Dados em Nuvens ComputacionaisNoSQL x SQL: Bancos de Dados em Nuvens Computacionais
NoSQL x SQL: Bancos de Dados em Nuvens ComputacionaisCarlo Pires
 
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOSBIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOSAdilmar Dantas
 
Armazenamento de Dados Aplicado à Computação em Nuvem
Armazenamento de Dados Aplicado à Computação em NuvemArmazenamento de Dados Aplicado à Computação em Nuvem
Armazenamento de Dados Aplicado à Computação em NuvemDaniel Rossi
 
Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1Januário Neto
 
Sistemas NoSQL, surgimento, características e exemplos
Sistemas NoSQL, surgimento, características e exemplosSistemas NoSQL, surgimento, características e exemplos
Sistemas NoSQL, surgimento, características e exemplosAricelio Souza
 
Vantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservicesVantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservicesFábio Rosato
 
Tdc Future 2021 - simples soluções grandes resultados - Márcio Rogério Nizzola
Tdc Future 2021 - simples soluções grandes resultados - Márcio Rogério NizzolaTdc Future 2021 - simples soluções grandes resultados - Márcio Rogério Nizzola
Tdc Future 2021 - simples soluções grandes resultados - Márcio Rogério NizzolaDextra Sistemas / Etec Itu
 

Semelhante a Alta Disponibilidade em Banco de Dados (20)

Explorando uma solução distribuída para o sistema Controle de Marcas e Sinais
Explorando uma solução distribuída para o sistema Controle de Marcas e SinaisExplorando uma solução distribuída para o sistema Controle de Marcas e Sinais
Explorando uma solução distribuída para o sistema Controle de Marcas e Sinais
 
Trabalho de sgbd
Trabalho de sgbdTrabalho de sgbd
Trabalho de sgbd
 
Cluster ha com banco de dados
Cluster ha com banco de dadosCluster ha com banco de dados
Cluster ha com banco de dados
 
Banco de Dados Ágeis e Refatoração
Banco de Dados Ágeis e RefatoraçãoBanco de Dados Ágeis e Refatoração
Banco de Dados Ágeis e Refatoração
 
Bancodedadosesgbds 140326151327-phpapp01
Bancodedadosesgbds 140326151327-phpapp01Bancodedadosesgbds 140326151327-phpapp01
Bancodedadosesgbds 140326151327-phpapp01
 
Ingestão de Dados
Ingestão de DadosIngestão de Dados
Ingestão de Dados
 
AVALIAÇÃO DE MODELOS DE ARQUITETURA DE WEB SITES DE ALTA ESCALABILIDADE
AVALIAÇÃO DE MODELOS DE ARQUITETURA DE WEB SITES DE ALTA ESCALABILIDADEAVALIAÇÃO DE MODELOS DE ARQUITETURA DE WEB SITES DE ALTA ESCALABILIDADE
AVALIAÇÃO DE MODELOS DE ARQUITETURA DE WEB SITES DE ALTA ESCALABILIDADE
 
Material Modelagem - Prof. Marcos Alexandruk
Material Modelagem - Prof. Marcos AlexandrukMaterial Modelagem - Prof. Marcos Alexandruk
Material Modelagem - Prof. Marcos Alexandruk
 
NoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas MonografiaNoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas Monografia
 
Aula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de DadosAula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de Dados
 
xxx no sequel
xxx no sequelxxx no sequel
xxx no sequel
 
NoSQL x SQL: Bancos de Dados em Nuvens Computacionais
NoSQL x SQL: Bancos de Dados em Nuvens ComputacionaisNoSQL x SQL: Bancos de Dados em Nuvens Computacionais
NoSQL x SQL: Bancos de Dados em Nuvens Computacionais
 
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOSBIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
 
Banco de dados distribuidos
Banco de dados distribuidosBanco de dados distribuidos
Banco de dados distribuidos
 
Armazenamento de Dados Aplicado à Computação em Nuvem
Armazenamento de Dados Aplicado à Computação em NuvemArmazenamento de Dados Aplicado à Computação em Nuvem
Armazenamento de Dados Aplicado à Computação em Nuvem
 
My sql apresentação
My sql apresentaçãoMy sql apresentação
My sql apresentação
 
Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1
 
Sistemas NoSQL, surgimento, características e exemplos
Sistemas NoSQL, surgimento, características e exemplosSistemas NoSQL, surgimento, características e exemplos
Sistemas NoSQL, surgimento, características e exemplos
 
Vantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservicesVantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservices
 
Tdc Future 2021 - simples soluções grandes resultados - Márcio Rogério Nizzola
Tdc Future 2021 - simples soluções grandes resultados - Márcio Rogério NizzolaTdc Future 2021 - simples soluções grandes resultados - Márcio Rogério Nizzola
Tdc Future 2021 - simples soluções grandes resultados - Márcio Rogério Nizzola
 

Mais de Alex Camargo

Escola Bíblica - Eclesiologia
Escola Bíblica - EclesiologiaEscola Bíblica - Eclesiologia
Escola Bíblica - EclesiologiaAlex Camargo
 
Escola Bíblica - Demonologia
Escola Bíblica - DemonologiaEscola Bíblica - Demonologia
Escola Bíblica - DemonologiaAlex Camargo
 
Python para finanças: explorando dados financeiros
Python para finanças: explorando dados financeirosPython para finanças: explorando dados financeiros
Python para finanças: explorando dados financeirosAlex Camargo
 
A practical guide: How to use Bitcoins?
A practical guide: How to use Bitcoins?A practical guide: How to use Bitcoins?
A practical guide: How to use Bitcoins?Alex Camargo
 
IA e Bioinformática: modelos computacionais de proteínas
IA e Bioinformática: modelos computacionais de proteínasIA e Bioinformática: modelos computacionais de proteínas
IA e Bioinformática: modelos computacionais de proteínasAlex Camargo
 
Introdução às criptomoedas: investimento, mercado e segurança
Introdução às criptomoedas: investimento, mercado e segurançaIntrodução às criptomoedas: investimento, mercado e segurança
Introdução às criptomoedas: investimento, mercado e segurançaAlex Camargo
 
Introdução às criptomoedas: criando a sua própria moeda como o Bitcoin!
Introdução às criptomoedas:  criando a sua própria moeda como o Bitcoin!Introdução às criptomoedas:  criando a sua própria moeda como o Bitcoin!
Introdução às criptomoedas: criando a sua própria moeda como o Bitcoin!Alex Camargo
 
Cristão versus Redes Sociais - Alex (Arca da Aliança)
Cristão versus Redes Sociais - Alex (Arca da Aliança)Cristão versus Redes Sociais - Alex (Arca da Aliança)
Cristão versus Redes Sociais - Alex (Arca da Aliança)Alex Camargo
 
Empatia e compaixão: O Bom Samaritano
Empatia e compaixão: O Bom SamaritanoEmpatia e compaixão: O Bom Samaritano
Empatia e compaixão: O Bom SamaritanoAlex Camargo
 
Alta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem praticaAlta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem praticaAlex Camargo
 
Bioinformática do DNA ao medicamento: ferramentas e usabilidade
Bioinformática do DNA ao medicamento: ferramentas e usabilidadeBioinformática do DNA ao medicamento: ferramentas e usabilidade
Bioinformática do DNA ao medicamento: ferramentas e usabilidadeAlex Camargo
 
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mão
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mãoInteligência Artificial aplicada: reconhecendo caracteres escritos à mão
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mãoAlex Camargo
 
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)Alex Camargo
 
Algoritmos de inteligência artificial para classificação de notícias falsas. ...
Algoritmos de inteligência artificial para classificação de notícias falsas. ...Algoritmos de inteligência artificial para classificação de notícias falsas. ...
Algoritmos de inteligência artificial para classificação de notícias falsas. ...Alex Camargo
 
Fake News - Conceitos, métodos e aplicações de identificação e mitigação
Fake News - Conceitos, métodos e aplicações de identificação e mitigaçãoFake News - Conceitos, métodos e aplicações de identificação e mitigação
Fake News - Conceitos, métodos e aplicações de identificação e mitigaçãoAlex Camargo
 
PredictCovid: IA. SIEPE UNIPAMPA 2020
PredictCovid: IA. SIEPE UNIPAMPA 2020PredictCovid: IA. SIEPE UNIPAMPA 2020
PredictCovid: IA. SIEPE UNIPAMPA 2020Alex Camargo
 
Ia versus covid 19 - alex
Ia versus covid 19 - alexIa versus covid 19 - alex
Ia versus covid 19 - alexAlex Camargo
 
2a Mini-conf PredictCovid. Field: Artificial Intelligence
2a Mini-conf PredictCovid. Field: Artificial Intelligence2a Mini-conf PredictCovid. Field: Artificial Intelligence
2a Mini-conf PredictCovid. Field: Artificial IntelligenceAlex Camargo
 
Aula 5 - Considerações finais
Aula 5 - Considerações finaisAula 5 - Considerações finais
Aula 5 - Considerações finaisAlex Camargo
 
Aula 04 - Injeção de código (Cross-Site Scripting)
Aula 04 - Injeção de código (Cross-Site Scripting)Aula 04 - Injeção de código (Cross-Site Scripting)
Aula 04 - Injeção de código (Cross-Site Scripting)Alex Camargo
 

Mais de Alex Camargo (20)

Escola Bíblica - Eclesiologia
Escola Bíblica - EclesiologiaEscola Bíblica - Eclesiologia
Escola Bíblica - Eclesiologia
 
Escola Bíblica - Demonologia
Escola Bíblica - DemonologiaEscola Bíblica - Demonologia
Escola Bíblica - Demonologia
 
Python para finanças: explorando dados financeiros
Python para finanças: explorando dados financeirosPython para finanças: explorando dados financeiros
Python para finanças: explorando dados financeiros
 
A practical guide: How to use Bitcoins?
A practical guide: How to use Bitcoins?A practical guide: How to use Bitcoins?
A practical guide: How to use Bitcoins?
 
IA e Bioinformática: modelos computacionais de proteínas
IA e Bioinformática: modelos computacionais de proteínasIA e Bioinformática: modelos computacionais de proteínas
IA e Bioinformática: modelos computacionais de proteínas
 
Introdução às criptomoedas: investimento, mercado e segurança
Introdução às criptomoedas: investimento, mercado e segurançaIntrodução às criptomoedas: investimento, mercado e segurança
Introdução às criptomoedas: investimento, mercado e segurança
 
Introdução às criptomoedas: criando a sua própria moeda como o Bitcoin!
Introdução às criptomoedas:  criando a sua própria moeda como o Bitcoin!Introdução às criptomoedas:  criando a sua própria moeda como o Bitcoin!
Introdução às criptomoedas: criando a sua própria moeda como o Bitcoin!
 
Cristão versus Redes Sociais - Alex (Arca da Aliança)
Cristão versus Redes Sociais - Alex (Arca da Aliança)Cristão versus Redes Sociais - Alex (Arca da Aliança)
Cristão versus Redes Sociais - Alex (Arca da Aliança)
 
Empatia e compaixão: O Bom Samaritano
Empatia e compaixão: O Bom SamaritanoEmpatia e compaixão: O Bom Samaritano
Empatia e compaixão: O Bom Samaritano
 
Alta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem praticaAlta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem pratica
 
Bioinformática do DNA ao medicamento: ferramentas e usabilidade
Bioinformática do DNA ao medicamento: ferramentas e usabilidadeBioinformática do DNA ao medicamento: ferramentas e usabilidade
Bioinformática do DNA ao medicamento: ferramentas e usabilidade
 
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mão
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mãoInteligência Artificial aplicada: reconhecendo caracteres escritos à mão
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mão
 
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
 
Algoritmos de inteligência artificial para classificação de notícias falsas. ...
Algoritmos de inteligência artificial para classificação de notícias falsas. ...Algoritmos de inteligência artificial para classificação de notícias falsas. ...
Algoritmos de inteligência artificial para classificação de notícias falsas. ...
 
Fake News - Conceitos, métodos e aplicações de identificação e mitigação
Fake News - Conceitos, métodos e aplicações de identificação e mitigaçãoFake News - Conceitos, métodos e aplicações de identificação e mitigação
Fake News - Conceitos, métodos e aplicações de identificação e mitigação
 
PredictCovid: IA. SIEPE UNIPAMPA 2020
PredictCovid: IA. SIEPE UNIPAMPA 2020PredictCovid: IA. SIEPE UNIPAMPA 2020
PredictCovid: IA. SIEPE UNIPAMPA 2020
 
Ia versus covid 19 - alex
Ia versus covid 19 - alexIa versus covid 19 - alex
Ia versus covid 19 - alex
 
2a Mini-conf PredictCovid. Field: Artificial Intelligence
2a Mini-conf PredictCovid. Field: Artificial Intelligence2a Mini-conf PredictCovid. Field: Artificial Intelligence
2a Mini-conf PredictCovid. Field: Artificial Intelligence
 
Aula 5 - Considerações finais
Aula 5 - Considerações finaisAula 5 - Considerações finais
Aula 5 - Considerações finais
 
Aula 04 - Injeção de código (Cross-Site Scripting)
Aula 04 - Injeção de código (Cross-Site Scripting)Aula 04 - Injeção de código (Cross-Site Scripting)
Aula 04 - Injeção de código (Cross-Site Scripting)
 

Alta Disponibilidade em Banco de Dados

  • 1. 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 Camargo alexcamargoweb@gmail.com UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ENGENHARIA DE COMPUTAÇÃO
  • 2. Sobre o professor Formaçã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
  • 3. Sobre o professor Formaçã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
  • 4. Sobre o professor Antes da UNIPAMPA:  Programador Web e DBA Local: Prefeitura Municipal de Bagé  Professor das disciplinas de Banco de Dados e Análise de Sistemas Local: Capacitar Escola Técnica Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo
  • 5. Sobre o professor Atualmente:  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
  • 6. Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo
  • 7. 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
  • 8. 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)
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo
  • 15. 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
  • 16. 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
  • 17. 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
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. 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
  • 23. Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo
  • 24. MySQL Cluster Vamos para a prática... Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo
  • 25. Referências BORTOLINI, 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
  • 26. Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados Prof. Alex Camargo
  • 27. 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) alexcamargoweb@gmail.com