1. MODELAGEM E BANCO DE
DADOS DISTRIBUÍDOS
MANUTENÇÃO DE BANCO DE DADOS
PROF. CARLOS COLETTO
MARICELSO SERAFIM
2. Sumário
INTRODUÇÃO
TECNOLOGIA DE BANCO DE DADOS DISTRIBUÍDOS
SISTEMA DE BANCO DE DADOS DISTRIBUÍDOS (SBDD)
ARQUITETURA DE UM BANCO DE DADOS DISTRIBUÍDO
REQUISITOS FUNCIONAIS DE UM BANCO DE DADOS DISTRIBUÍDO
CARACTERÍSTICAS DOS BANCOS DE DADOS DISTRIBUÍDOS
VANTAGENS
DESVANTAGENS
REPLICAÇÃO E FRAGMENTAÇÃO DE DADOS
CONSULTAS EM BANCO DE DADOS DISTRIBUÍDOS
APLICAÇÃO DE BANCO DE DADOS DISTRIBUÍDOS
CONCLUSÃO
3. Banco de Dados
Conjunto de dados organizados, compartilhados
e integrados, que seguem um conjunto de
regras de formação e conteúdo. Normalmente
este conjunto de dados se encontra
centralizado, ou seja, os dados estão
armazenados em apenas um local.
4. Bancos de Dados Distribuídos
O banco de dados é armazenado em diversos
computadores que comunicam-se uns com os outros
por intermédio de meios de comunicação como:
redes de alta velocidade, redes sem fio ou linhas
telefônicas, eles não compartilham a memória
principal ou discos.
Sistemas de banco de dados centralizados -> os
dados estão localizados em um único lugar
Sistemas de banco de dados distribuídos -> os
dados residem em diversos locais.
5. Sistema de Banco de Dados
Distribuído (SBDD)
• Coleção de nós, onde cada nó mantém um banco de
dados local, mas cujo conjunto atua como um único
sistema de banco de dados lógico.
• Dados locais, mas em acordo com um esquema de
banco de dados distribuídos integrado.
• Os nós podem executar consultas locais, assim como
consultas que acessam dados localizados em outros
nós da rede.
6. Independência de localização
• Independência de localização
• Apesar de existir fisicamente a distribuição
dos dados, esta deve estar em um nível lógico
para o usuário, permitindo o acesso aos dados
de maneira transparente.
8. Bancos de dados distribuídos
• Distribuição de Dados
O objetivo das redes de computadores é o compartilhamento de
recursos e, principalmente, de informação entre seus usuários. Os
dados que constituem o banco de dados estão armazenados em locais
diferentes da rede de computadores.
• Transparência
Bancos de dados distribuídos possuem independência dos dados,
transparência de rede ou localização, de replicação e de fragmentação.
A transparência de rede ou localização fornece ao usuário a ilusão que
o dado é local. A transparência de fragmentação mantém a
consistência e a integridade em cada fragmento de dados
10. Armazenamento Distribuído dos
Dados
• Uma relação (ou tabela) possui diversos enfoques para
o armazenamento em um banco de dados distribuído
(BDD):
• Replicação: o sistema mantém réplicas idênticas da
relação, onde cada réplica é armazenada em sites
diferentes, resultando na replicação dos dados
• Fragmentação: a relação é particionada em vários
fragmentos, onde cada fragmento é armazenado em
um site diferente
• Replicação e fragmentação: a relação é particionada
em vários segmentos, e o sistema mantém diversas
réplicas de cada fragmento
11. Sistema Gerenciador de Banco de Dados Distribuídos
• Base de Dados Distribuída (BDD)
• É uma coleção de diversas bases de dados, interligadas logicamente através
de uma rede de computadores.
• Sistema de Gerência de Bases de dados Distribuídas (SGBDD)
• Software que incorpora as funções de definição, recuperação e alteração de
dados em um banco de dados, permite o gerenciamento do banco de dados
distribuído e torna a distribuição transparente para o usuário.
• Sistema de Banco de Dados Distribuído (SBDD)
• É a combinação das bases de dados com o sistema.
SBDD = BDD + SGBDD
12. Modelo de Transações Distribuídas
• Locais: mantém acesso e
atualizam somente a base
de dados local disponíveis
no próprio servidor onde
a transação foi iniciada.
• Globais: acessam a base
de dados localizados em
outros computadores,
onde os dados estão
disponíveis.
13. • Sistema Gerenciador de Banco de Dados é um
conjunto de programas e ferramentas
utilizadas para configurar, atualizar e manter
um banco de dados.
– Recursos para administrar usuários/permissões.
– Recursos para criar/alterar tabelas e banco de
dados.
– Recursos para backup e restauração de dados.
– Recursos para otimizar a performance do banco.
O que é um SGBD?
15. Classificação de Sistemas de SBDD
• Homogêneo: são compostos por bancos de dados
iguais em todos os nós, todos os nós rodando o
mesmo SGBD.
• Heterogêneo: são compostos por mais de um
tipo de banco de dados, em diferentes nós
rodando diferentes SGBDs.
16. TECNOLOGIA DE BANCO DE DADOS
DISTRIBUÍDO
A tecnologia de banco de dados distribuídos é
a união da tecnologias de sistemas de banco
de dados e redes de computadores.
17. ARQUITETURA DE UM BANCO DE DADOS
DISTRIBUÍDO
Baseada na arquitetura servidor/servidor, no qual os
servidores compartilham os dados entre si. Quando
um dos servidores requer uma transação junto ao
outro, o servidor remetente age como cliente, e o
outro executa as instruções que lhe são passadas,
retornando os resultados obtidos. A principal
vantagem desta arquitetura é a divisão do
processamento, o que reduz o tráfego de dados na
rede. ????????
18. ARQUITETURA DE UM BANCO DE DADOS
DISTRIBUÍDO
Arquitetura de Banco de Dados Centralizado Arquitetura de um banco de dados distribuído
• SGBD geralmente utiliza a arquitetura Cliente/Servidor
• O módulo cliente é onde as funcionalidades do sistema são distribuída
• O módulo servidor é onde os dados são armazenados e onde ocorrem a gestão de
acesso, operações de pesquisas e outras funções.
20. Arquiteturas de um SGBD
Banco de dados distribuídos:
A informação está distribuída em diversos servidores
espalhados em locais diferentes.
21. REQUISITOS FUNCIONAIS DE UM
SGBD DISTRIBUÍDO
• 1. Autonomia local: Cada nó participante de um sistema distribuído deve ser
independente dos outros nós. Cada nó deve prover mecanismos de segurança,
bloqueio, acesso, integridade e recuperação após falha.
• 2. Não dependência de um nó central: Um sistema de banco de dados distribuído
não deve depender de um nó central
• 3. Operação contínua: Um sistema de banco de dados distribuído nunca deve
precisar ser desativado. As operações de backup e recuperação devem ser
suportadas on-line.
• 4. Transparência/independência de localização: Os usuários do sistema não
devem precisar saber o local onde estão localizados os dados; devem se comportar
como se os dados estivessem armazenados localmente.
• 5. Independência de fragmentação: As tabelas que fazem parte de um sistema de
banco de dados distribuído podem estar divididas em fragmentos, localizados
fisicamente em diferentes nós, de forma transparente para o usuário.
• 6. Independência de replicação: Dados podem estar replicados em vários nós da
rede, de forma transparente.
22. REQUISITOS FUNCIONAIS DE UM
SGBD DISTRIBUÍDO
• 7. Processamento de consultas distribuído: O desempenho de uma
consulta deve ser independente do local onde a mesma é submetida.
• 8. Gerenciamento de transações distribuídas: As propriedades ACID
(Atomicidade, Consistência, Independência e Durabilidade) das transações
e a serialização devem ser suportadas não apenas para transações locais,
mas para transações distribuídas também.
• 9. Independência de hardware: deve poder operar e acessar dados em
uma variedade de plataformas de hardware.
• 10.Independência de sistema operacional: deve poder executar em
sistemas operacionais diferentes.
• 11.Independência de rede: deve ser projetado para executar
independentemente do protocolo de comunicação e da topologia de.
• 12.Independência de SGBD: deve possuir capacidades para se comunicar
com outros sistemas de gerenciamento de banco de dados executando em
nós diferentes.
23. CARACTERÍSTICAS DOS BANCOS DE
DADOS DISTRIBUÍDOS
• Gerenciamento transparente de dados Distribuídos
Capacidade de não mostrar os detalhes de implementação para o usuário.
• Independência de dados
Consiste na capacidade de tornar as características físicas dos dados (como
localização, estrutura, tamanho, etc) transparentes para a aplicação.
• Transparência de replicação
A transparência de replicação refere-se apenas a existência de réplicas pela rede, e
não a sua posição real.
• Confiabilidade em transações distribuídas
Pode-se dizer que os SGBDs distribuídos proporcionam uma maior confiabilidade
por possuírem componentes compartilhados que eliminam pontos únicos de falha.
• Dados armazenados em diversos locais (ou nós)
• Processadores dos nós interconectados através de uma rede de computadores
24. Propriedades para integridade do
banco de dados
• A – Atomicidade: Todas as operações da transação são
refletidas corretamente no BD ou nenhuma será.
• C – Consistência: A execução de uma transação isolada
preserva a consistência do banco de dados.
• I – Isolamento: Cada transação não toma conhecimento de
outras transações concorrentes.
• D – Durabilidade: Depois que transação for completada com
sucesso, as mudanças que ela faz no banco de dados
persistem.
Estados do sistema durante uma transação
25. Vantagens de SGBDD
• Compartilhamento de dados e controle distribuído: Existe
um administrador global, responsável pelo sistema como um
todo.
• Maior confiabilidade: O sistema funciona conforme o projeto,
visando ao funcionamento do sistema mesmo com falhas.
• Maior disponibilidade: O sistema estará disponível por uma
maior escala de tempo, pois está distribuídos em locais
diferentes.
• Melhor desempenho no processamento de consultas:
consultas podem ser subdivididas e executadas em paralelo.
• Maior escalabilidade: É mais fácil acrescentar um nó, desde
que os mesmos sejam autônomos, do que substituir um
sistema centralizado existente por um maior.
27. Desvantagens de SGBDD
• Custo de desenvolvimento do software: A alta complexidade torna mais difícil
implementar um SGBDD, tornando-o mais caro.
• Grande potencial para bugs: Ocorrência de erros muito sutis na colaboração entre
os nós do SGBDD.
• Aumento do overhead de processamento: Devido à troca de mensagens e à
computação adicional para obter a coordenação entre os nós.
• Questões de projeto específicas: quanto à replicação e fragmentação de dados.
• Dificuldades para obter conhecimento global: controle de concorrência entre
transações distribuídas.
• Falta de padrões – ainda não há metodologias e ferramentas para ajudar usuários
a converterem um SGBD centralizado para um SGBD distribuído.
• Segurança: locais remotos devem ser seguros
• Complexidade: problemas não resolvidos
• • Custo: replicação da forca de trabalho
• • Distribuição de controle: sincronização e coordenação
• • Segurança: problemas de segurança em uma rede de
• computadores
28. Fragmentação de dados
• Uma relação é dividida em fragmentos, que
são armazenados em diferentes nós.
• Fragmentação horizontal: os fragmentos são
definidos por seleção de tuplas.
Fragmentação vertical: os fragmentos são
definidos por projeção de atributos.
29. Atualização dos dados replicados
• Replicação síncrona: Todas as cópias de uma relação
modificada (fragmentos) devem ser atualizadas antes
da transação modificante – A distribuição de dados
fica transparente para o usuário. Cada transação é
concluída quando todos os nós confirmam que a
transação local foi bem sucedida
• Replicação Assíncrona: As cópias da relação
modificada só são atualizadas periodicamente – Os
usuários devem estar cientes da distribuição e
replicação
30. CONSULTAS EM BANCO DE DADOS DISTRIBUÍDOS
• A consulta em um BDD é realizada conforme o seu
modelo relacional. Divide-se em duas partes:
• 1. Especificar o domínio da relação a ser recuperada, ou
seja, definir quais as tabelas que serão utilizadas na
consulta;
• 2. Definir os predicados de seleção. A complexidade da
consulta aumenta conforme o número de operadores
lógicos e operadores de comparação existentes.
31. CONTROLE DE CONCORRÊNCIA
Possibilita o compartilhamento de dados, de forma completamente transparente aos
usuários.
Principais objetivos:
- Integridade de Dados - Assegura que as informações que entram no sistema são
verdadeiras.
- Consistência de Dados – A mesma informação é guardada em diversos registros,
possivelmente em arquivos diferentes, seu valor deve ser o mesmo a qualquer
momento em todos esses registros.
- Transação - É usada para descrever uma sequência de operações sobre um ou mais
objetos do banco de dados, transformando o atual estado consistente do sistema num
novo estado consistente.
- Escalonador de Transações - Controla o acesso de transações aos objetos do banco
de dados.
• Estados do sistema durante uma transação
32. Aspectos Atrativos de SGBDDs
•Aspecto administrativo:
•Refletem a estrutura organizacional de organizações geograficamente dispersas, dando maior
autonomia e responsabilidade local ao usuário, mas preservando uma visão unificada dos dados.
•Dados locais podem ser mantidos em instalações locais, às quais eles pertencem logicamente,
enquanto dados remotos estão disponíveis para serem acessados quando for necessário.
•Aspecto econômico:
•Diminuem os custos de comunicações se a maior parte dos acessos gerados em um nó puderem ser
resolvidos localmente, sem acesso a dados armazenados em nós remotos.
•Aspecto técnico:
•Facilitam o crescimento modular do sistema simplesmente acrescentando-se novos processadores e
novos módulos do banco ao sistema,
•aumentam a confiabilidade através da replicação das partes críticas do banco em mais de um nó.
•aumentam a eficiência através de um critério de particionamento e replicação que coloque os dados
próximos do local onde são mais frequentemente usados.
•melhora a disponibilidade e confiabilidade do sistema através da replicação de dados.
•Aspecto tecnológico:
• O desenvolvimento de redes de comunicação de dados permitiu a interligação de um grande
número de processadores independentes de forma confiável e com custo previsível.
33. APLICAÇÃO DE BANCOS DE DADOS DISTRIBUÍDOS
Os bancos de dados distribuídos são aplicados em:
- Fábricas, especialmente empresas com múltiplas plantas industriais.
- Controle militares.
- Sistemas de Apoio à Decisão corporativos.
- Empresas aéreas.
- Cadeias de hotéis.
- Redes de lojas.
- Sistemas de informações gerenciais corporativas.
- Sites de e-commerce.
- Qualquer instituição que possua uma estrutura de organização descentralizada.
- Sistemas com grande volume de dados, mesmo que em organizações
centralizadas, que demandam por aumento de desempenho.
• Companhias Aéreas
• Redes de Lojas
• Cadeias de Hotéis
• Qualquer organização que possua uma estrutura descentralizada
34. Tendências em bancos
de dados distribuídos
• Todos os usuários são clientes e servidores,
funcionando, de forma totalmente
independente e livre da existência de um
servidor central.
• computadores da rede estão todos
interligados em uma cadeia descentralizada
• Utilização, em qualquer lugar e independente
de plataforma para acesso a arquivos e
execução de diferentes tarefas pela internet
• Os dados não se encontram em um
computador específico, mas sim em uma
rede
Computação nas nuvens
(cloud computing )
Sistemas de banco de
dados peer-to-peer
35. CONCLUSÃO
O processamento distribuído é mais adaptado à
estrutura de muitas das organizações atuais.
Proporciona melhor desempenho e maior facilidade de
expansão, e aumenta a disponibilidade do sistema. A
implementação dos bancos de dados distribuídos no
Brasil, esbarra na precariedade do sistema de
telecomunicações do país. Atualmente, investir em
banco de dados distribuídos, envolve investimentos em,
hardware, estruturas em redes, hubs, switches, routers
e em treinamento de pessoal para suportar toda essa
nova arquitetura que esta sendo criada.