Você está na página 1de 39

Banco de Dados

Distribuídos
Professor Marcio Victorino – mcvictorino@uol.com.br
Banco de Dados Distribuído
 Tecnologias associadas:
 Banco de Dados;
 Redes de computadores.
 Sistema de computação distribuído:
 Consiste em uma série de elementos de processamento,
não necessariamente homogêneos, que são interligados
por um sistema de rede de computadores e que
cooperam na realização de determinadas tarefas
específicas.
 Repartem um grande e ingerenciável problema em partes
menores e resolvem o mesmo de maneira eficiente e
coordenada.
Professor Marcio Victorino 2
Banco de Dados Distribuído
 Banco de Dados Distribuído (BDD):
 Uma coleção de vários bancos de dados logicamente
inter-relacionados, distribuídos ao longo de um sistema
de rede de computadores.
 Sistema de Gerência de Banco de Dados
Distribuídos (SGBDD):
 Um sistema de software que gerencia um banco de
dados distribuído ao mesmo tempo tornando a
distribuição transparente para o usuário.

Professor Marcio Victorino 3


Exercícios CESPE
 Q03.
 Q05.

Professor Marcio Victorino 4


Banco de Dados Distribuído
 Vantagens de BDD:
 Gerência de dados distribuídos com diferentes níveis de
transparência:
 Transparência de distribuição ou de rede: libera o usuário dos
detalhes sobre a rede.
 Transparência de replicação: cópias dos dados podem ser
armazenadas em vários sites para aprimorar a disponibilidade,
desempenho e confiabilidade.
 Transparência de fragmentação: o usuário não toma
conhecimento da existência dos fragmentos horizontais (linhas)
ou verticais (colunas).
 Confiabilidade e disponibilidade crescentes.
 Melhor desempenho.
 Expansão mais fácil.
Professor Marcio Victorino 5
Exercícios CESPE
 Q08.

Professor Marcio Victorino 6


Banco de Dados Distribuído
 Confiabilidade: é a probabilidade do sistema funcionar sem
queda em qualquer momento dado. É melhor nos sistemas
distribuídos porque esses sistemas não seguem a proposta
de tudo ou nada, eles podem continuar a funcionar em nível
reduzido mesmo diante da falha de algum componente
individual, como um site isolado.

 Disponibilidade: é a probabilidade de uma sistema estar


pronto e funcionando continuamente sem queda durante um
período especificado. Assim como a confiabilidade, a
disponibilidade é melhor em um sistema distribuído, em
parte pela mesma razão e em parte devido à possibilidade
de replicação de dados.
Professor Marcio Victorino 7
Exercícios CESPE
 Q01.
 Q03.

Professor Marcio Victorino 8


Fragmentação e Replicação

Professor Marcio Victorino 9


Banco de Dados Distribuído
 Funções adicionais de um SGBDD:
 Controlar dados: fragmentação, replicação, etc.
 Gerenciamento de transações distribuídas.
 Recuperação de BDD.
 Segurança.
 Gerenciamento do catálogo distribuído.

 Projeto de Banco de Dados Disribuídos:


 Fragmentação;
 Replicação;
 Alocação.
Professor Marcio Victorino 10
Banco de Dados Distribuído
 Fragmentação consiste na técnica de dividir o
banco de dados em unidades lógicas chamadas
fragmentos, que podem ser armazenados em sites
diferentes.
 Fragmentação de Banco de Dados:
 Horizontal: um fragmento horizontal de uma relação é
um subconjunto das tuplas dessa relação.
 Vertical: um fragmento vertical de uma relação mantém
somente certos atributos da relação.
 Mista ou Híbrida: combinação dos dois tipos anteriores.

Professor Marcio Victorino 11


Exercícios CESPE
 Q02.

Professor Marcio Victorino 12


Banco de Dados Distribuído
 Esquema de fragmentação:
 Consiste da definição de um conjunto de fragmentos que
inclui todos os atributos e tuplas do banco de dados e
satisfaz a condição de que todo o banco de dados pode
ser reconstruído a partir dos fragmentos.

 Esquema de alocação:
 Descreve a alocação dos fragmentos aos sites do SBDD;
portanto, é um mapeamento que especifica para cada
fragmento o site no qual será armazenado.

Professor Marcio Victorino 13


Banco de Dados Distribuído
 Replicação consiste em gerar cópias controladas
das relações ou dos fragmentos.
 Replicação de Banco de Dados:
 Melhora a disponibilidade.
 Melhora desempenho.
 Desacelera operações de atualização.

Professor Marcio Victorino 14


Tipos

Professor Marcio Victorino 15


Banco de Dados Distribuído
 Tipos de SBDD:
 Homogêneo ou Heterogêneo.
 Com ou sem autonomia local.

 SGBDD Federado:
 Existe alguma visão ou esquema global da federação de banco de
dados que é compartilhada pelas aplicações.

 SGBDD Multibanco de Dados:


 Tem autonomia global completa.
 Não possui um esquema global, mas constrói um interativamente
conforma a necessidade da aplicação que o acessa.

Professor Marcio Victorino 16


Banco de Dados Distribuído
 Controle de concorrência e recuperação:
 Várias cópias dos itens de dados;
 Falhas de sites individuais;
 Falhas nos links de comunicação;
 Commit distribuído (protocolo de commit de duas fases);
 Deadlock distribuído.

Professor Marcio Victorino 17


Banco de Dados Distribuído
 Controle de concorrência distribuída baseado em
cópia distinta de um item de dado:
 Técnica do site primário (principal);
 Site primário (principal) com site de backup;
 Técnica da cópia primária ( principal).

 Controle de concorrência distribuída baseado em


Votação.

Professor Marcio Victorino 18


Banco de Dados Distribuído
 Técnica do site primário (principal):
 Todas as cópias distintas dos itens de dados são
mantidas no mesmo site;
 Um único site é designado coordenador;
 Todos os bloqueios são mantidos neste site;
 Todas as solicitações de bloqueio e desbloqueio são
enviadas para este site;
 É uma extensão do bloqueio centralizado;
 Causa sobrecarga do site;
 Falha do site primário paralisa o sistema;
 Uma vez que uma transação obtenha um bloqueio em
um item de dado no site primário, ela pode acessar
qualquer cópia desse item de dado.
Professor Marcio Victorino 19
Banco de Dados Distribuído
 Site primário (principal) com site de backup:
 Caso anterior co um site de backup;
 As informações de bloqueio são mantidas nos dois sites
(primário e backup);
 O site de backup assume no caso de falha do site
primário e um novo site de backup é escolhido;
 Desacelera o processo de aquisição de bloqueio.

Professor Marcio Victorino 20


Banco de Dados Distribuído
 Técnica da cópia primária (principal):
 Distribui a carga da coordenação de bloqueio entre vários
sites, fazendo com que cópias distintas de diferentes
itens de dados sejam armazenados em sites diferentes.
 Falhas em um site afetam quaisquer transações que
estejam acessando bloqueios em itens cujas cópias
primárias residam naquele site, mas outras transações
não são afetadas;
 Esta método também pode utilizar sites de backup para
melhorar a disponibilidade.

Professor Marcio Victorino 21


Banco de Dados Distribuído
 Controle de concorrência distribuída baseado em
Votação.
 Não existe uma cópia distinta como nos casos anteriores;
 Uma solicitação de bloqueio é enviada para todos os sites
que possuem uma cópia do item de dado;
 Cada cópia mantém seu próprio bloqueio e pode
conceder ou negar o pedido;
 Se uma transação tem o bloqueio concedido pela maioria
das cópias, ela segura o bloqueio e informa a todas as
cópias que teve o bloqueio concedido;
 Caso contrário ela informa o cancelamento da requisição;
 É um método verdadeiramente distribuído.
Professor Marcio Victorino 22
Banco de Dados Distribuído
 Gerenciamento de Catálogo Distribuído:
 Catálogo Centralizado: nesse esquema o catálogo inteiro é
armazenado em um único site. Devido a sua natureza central, ele é
fácil de ser implementado. No entanto, as vantagens da
confiabilidade, disponibilidade, autonomia e distribuição são afetadas
negativamente. Os bloqueios de leitura e escrita são obtidos no site
central.
 Catálogo Totalmente Replicado: nesse esquema cópias idênticas do
catálogo completo estão presentes em cada site. As operações de
leituras podem ser locais, mas as de escrita devem ser transmitidas
para todos os sites (commit em duas fases).
 Catálogos Parcialmente Replicados: nesse esquema cada site
mantém informações completas sobre os dados armazenados
localmente nesse site. O sistema rastreia entradas de catálogo para
sites onde o objeto foi criado e para sites que contêm cópias desse
objeto.
Professor Marcio Victorino 23
Exercícios CESPE
 Q06.
 Q08.

Professor Marcio Victorino 24


Mecanismos de Commit

Professor Marcio Victorino 25


Commit em Duas Fases (2PC)
 Um mecanismo de commit em duas fases garante que
todos os servidores de banco de dados que participam de
uma transação distribuída tenham o commit ou rollback da
transação.

Professor Marcio Victorino 26


Commit em Duas Fases (2PC)
 Algoritmo que garante a consistência da terminação da transação:
Atomic Commitment Protocol (ACP).
 1ª Fase: todos os nós participantes da transação sinalizam ao
coordenador que sua parte da transação foi realizada. O coordenador
envia uma mensagem preparar “para commit”. Cada nó fará uma
gravação forçada em disco de todos os registros de log e informações
necessárias para recuperação local, e em seguida envia um sinal “OK”
ao coordenador, caso contrário envia um sinal “não OK”. Na falta de
uma resposta o coordenador considera o nó “não OK”.
 2ª Fase: se todos os nós respondem “OK’ e o voto do coordenador
também for “OK”, a transação foi bem sucedida e o coordenador envia
um sinal “commit” para os nós, caso contrário, a transação falhou e o
coordenador envia uma mensagem para “rollback”. Neste caso a
transação será desfeita utilizando-se os arquivos de log.

Professor Marcio Victorino 27


Commit em Duas Fases (2PC)

Professor Marcio Victorino 28


Commit em Três Fases (3PC)
 1ª Fase: o coordenador envia uma mensagem “canCommit”
para os nós e passa para o estado “waiting”. Os nós
respondem com “OK” ou “não OK”.
 2ª Fase: se o coordenador receber alguma mensagem “não
OK” a transação é abortada e manda a mensagem “abort”
para os nós que passam para o estado “abort”. Caso contrário
o coordenador envia a mensagem “preCommit” para os nós e
estes passam para o estado “prepared”.
 3ª Fase: o coordenador recebe o “OK” de todos os nós e
todos passam para o estado “commit”, caso contrário aborta a
transação.

Professor Marcio Victorino 29


Commit em Três Fases (3PC)

Professor Marcio Victorino 30


AD-DBA

Professor Marcio Victorino 31


Administração de Dados

Função da Organização responsável por


desenvolver e administrar centralizadamente,
estratégias, procedimentos, práticas e planos
capazes de disponibilizar os dados corporativos
necessários, quando necessários, revestidos de
integridade, consistência, privacidade,
documentação e compartilhamento.

Professor Marcio Victorino 32


Objetivos da Administração de Dados

 Implementar ações e dar suporte ao


ambiente com:
 Bases de Dados Estáveis;
 Bases de Dados Perfeitamente Aderentes à Organização;
 Documentação dos Dados da Organização.

 Aperfeiçoa os processos de gestão por:


 "Repensar" a Informação;
 Questionar processos atuais de gestão;
 Rever naturalmente os processos.
Professor Marcio Victorino 33
Objetivos da Administração de Dados
 Permite a utilização adequada da tecnologia
de Banco de dados.

 Faz com que a informação passe a ter um


papel ativo dentro da corporação:
 Disponibilidade;
 Compartilhamento;
 Informação deixa de ter “dono”;
 A Informação é tratada como Patrimônio da
Organização.
Professor Marcio Victorino 34
Missão da Área de Administração de Dados
 Zelar pelos ATRIBUTOS FUNDAMENTAIS que
possibilitem a produção e a disponibilidade de
informações confiáveis a partir dos dados providos
de:
INTEGRIDADE

SEGURANÇA PRIVACIDADE

AMBIENTE

LIQUIDEZ COMPARTILHAMENTO

Professor Marcio Victorino 35


Modelo Corporativo
 Representa um ambiente observado;
 Serve de instrumento de comunicação;
 Favorece o processo de verificação e validação;
 Captura aspectos de relacionamento entre os
objetos observados;
 Serve como referencial para a geração de
estruturas de dados;
 Estabelece conceitos únicos a partir de visões
diversas.

Professor Marcio Victorino 36


Administração de Banco de Dados
 O DBA é o profissional na estrutura de
gerenciamento de TI que tem uma visão holística
do ambiente. Uma parte vital do seu trabalho é
identificar onde ocorreu um problema de falha ou
desempenho em um ambiente complexo de
tecnologia da informação e trabalhar com o grupo
de suporte apropriado para corrigi-lo. Suas
responsabilidades são:
 Dimensionar e avaliar o hardware de servidores.
 Instalar e manter atualizado o software de SGBD

Professor Marcio Victorino 37


Administração de Banco de Dados
 Projeto Físico do BD.
 Monitorar e ajustar do desempenho.
 Auxiliar os desenvolvedores nos projetos de aplicações e
ajustes de SQL.
 Fazer backup, restaurar (extrair do backup) e recuperar o
BD.
 Gerenciar usuários e segurança.

Professor Marcio Victorino 38


Fim

Professor Marcio Victorino 39

Você também pode gostar