universidade federal da paraíbA
DEPARTAMENTO DE CIÊNCIAS EXATAS
dISCIPLINA: BANCO DE DADOS II
GUILHERME CHAGAS, DIÊGO TEIXEIRA, MARCUS VINÍCIUS, GILMAR JUNIO
banco de dados distribuídos
banco de dados distribuídos
Agenda
- Conceitos e Características
- Arquitetura
- Consultas
- Segurança
banco de dados distribuídos
Um banco de dados distribuídos é uma coleção de vários bancos de dados coerentemente inter-relacionados, distribuídos por uma rede de computadores, ou seja, o banco de dados é armazenado em diversos locais. Os locais em um sistema distribuído comunicam-se uns com os outros por intermédio de vários meios de comunicação.
conceitos e características
-
Requisitos para um que BD seja distribuído:
Conexões de nós de banco de dados por uma rede de computadores
Retirada de: www.tiagodemelo.info
conceitos e características
- Requisitos para que um BD seja distribuído:
Inter-relação lógica dos bancos de dados conectados
Ausência de restrição de homogeneidade entre os nós conectados.
conceitos e características
-
Homogêneos
-
Heterogêneos
conceitos e características
A principal diferença entre sistemas de banco de dados centralizados e distribuídos é que no centralizado os dados estão localizados em um único lugar, enquanto que no distribuído os dados residem em diversos locais.
conceitos e características
Retirada de: www.devmedia.com.br
conceitos e características
-
Fragmentação: Na fragmentação de dados, uma relação é dividida em diversos fragmentos, cada fragmento é armazenado em locais diferente, esses fragmentos contém informações suficientes para reconstruir a relação original.
-
Replicação: Na replicação de dados, um determinado objeto de dados lógicos podem possuir diversas cópias idênticas armazenadas em locais diferentes.
COnceitos e características
- Tipos de fragmentação:
Horizontal
Vertical
Mista ou Híbrida.
conceitos e características
- Tipos de replicação:
Transacional
Instantânea
Síncrona
Assíncrona
Mista
Vantagens e desvantagens
- Vantagens:
Confiabilidade
Disponibilidade
Desempenho
Econômico
Facilidade em expansão
Vantagens e desvantagens
-
Desvantagens:
Complexidade
Implantação
Segurança
Integridade
Inexperiência
Padrões
Arquitetura de sgbdd
A arquitetura de um SGBDD define a sua estrutura.
• Identifica os componentes a serem utilizados
• Atribui as funções aos componentes
• Especifica os inter-relacionamentos e interações entre esses componentes.
ARQUITETURA DE SGBDD
“Para projetar um modelo arquitetônico de um SGBDD deve-se levar em consideração três características: a autonomia de sistemas locais, sua distribuição e sua heterogeneidade”. Ozsu e Valduriez (2001)
Muitos estudos são feitos para padronização dos SGBDD, mas as mais usadas são: sistemas cliente-servidor, não hierárquicos.
arquitetura sgbdd
-
Autonomia
"A autonomia se refere à distribuição de controle, não de dados. Ela indica até que grau SGBDs individuais podem operar independentemente" Özsu e Valduriez (2001, p.88)
- Autonomia de projeto
SGBDs individuais são livres para usar o modelo de dados e as técnicas de gerenciamentos que preferirem.
arquitetura sgbdd
-
Autonomia de comunicação: cada SGBD é livre para tomar sua própria decisão quanto ao tipo de informação que deseja fornecer ou ao software que controla sua execução.
-
Autonomia de execução: cada SGBD executa as transações do modo que desejar.
-
O conceito de autonomia local se resume a visão que um departamento pode controlar seus dados ,já que é o mais familiarizado com estes.
arquitetura sgbdd
DISTRIBUIÇÃO
Autonomia trata de questões sobre distribuição de controle, e a distribuição refere-se aos dados, ou seja, a distribuição física dos dados. O armazenamento de dados distribuídos possuem diversos enfoques : replicação e fragmentação de dados.
arquitetura sgbdd
SGBD HOMOGÊNEO
• Múltiplas coleções de dados
• Integra múltiplos dados e recursos.
Um SGBD homogêneo se assemelha a um banco de dados centralizado, mas ao invés disso, é distribuído através de um número de sites de uma rede.
arquitetura sgbdd
Características:
• Todos os sites têm software idêntico;
• Estão conscientes uns dos outros e cooperam no processamento dos pedidos dos utilizadores;
• Cada site aceita perder parte da sua autonomia em termos de direitos de mudança esquema e software;
• O usuário tem a impressão de um sistema único.
arquitetura sgbdd
Arquitetura de um SGBDD homogêneo
arquitetura sgbdd
SGBD Heterogêneo
• Uso de diferentes bancos de dados.
Diferentes sistemas incluindo hardware e software diferentes em sites diferentes, diferentes sistemas operacionais e diferentes protocolos.
Características:
• Sites diferentes podem usar esquemas e software diferentes.
• Inconsistência dos sites.
arquitetura sgbdd
site 1 - matriz de uma transportadora
site 2 - filial
site 3 - filial
site 4 - filial
arquitetura sgbdd
Muitos estudos são feitos para a padronização de um SGBD distribuídos, veremos duas arquiteturas mais usadas: Cliente-Servidor e a hierárquica.
- Sistema Cliente-Servidor: Uma arquitetura criada na década de 90, caracterizada por fornecer uma arquitetura em dois níveis, funções de servidor e funções de cliente.
- Computação Cliente - Servidor vs SGBD Cliente - Servidor:
SGBD Cliente - Servidor: Refere-se a máquinas reais em locais diferentes.
arquitetura sgbdd
Características:
-
A maior parte do gerenciamento de dados é feita pelo servidor.
-
O cliente fica apenas com a interface
-
Comum em sistemas-relacionais.
arquitetura sgbdd
Existem vários tipos de arquitetura cliente/servidor, porém o mais simples e mais utilizado é o caso em que existe um único servidor e vários clientes.
Temos a visão que a arquitetura de um SGBDD é a de servidor/servidor.
arquitetura sgbdd
Sistemas distribuídos hierárquicos.
A grande diferença que é que não existe distinção entre máquinas clientes e servidoras. As maquinas são compostas de um processador de usuário e de dados.
Características:
• BD projetos em top-down.
• Adm de BD em cada site.
• Controle local da administração de dados.
arquitetura sgbdd
Processador do usuário.
• Tratador de interface- responsável pela interpretação dos comandos do usuário e pela formatação de dados do resultado conforme retornam.
• Controlador de dados semânticos- Utiliza as restrições de integridade e as autorizações definidas como parte do esquema conceitual global.
• Otimizador e decompositor de consultas globais: define a estratégia para executar as consultas globais e transformá-las em locais.
• Monitor de execução distribuída: faz a coordenação da execução distribuída da solicitação do usuário.
arquitetura sgbdd
Processador de dados:
• Otimizador de consulta local: atua como seletor de caminho de acesso.
• Gerenciador de recuperação local: consistência do bd local nas falhas.
• Processador de suporte runtime: gerencia o acesso aos dados, matem os buffers de memória principal, e gerencia os buffers do banco de dados.
arquitetura sgbdd
consultas distribuídas
Além do tempo de processamento e das operações de I/O (entrada e saída), é preciso considerar alguns fatores:
- Replicação
- Fragmentação
- Custo de transmissão
- Capacidade de processamento
Consultas distribuídas
-
Influência da replicação:
Devemos usar as réplicas que podem ser acessadas mais rapidamente
Pode ser vantajoso criar uma réplica de uma relação em um servidor que a acessa com frequência
consultas distribuídas
-
Influência da fragmentação:
Se a relação foi fragmentada horizontalmente usando o valor de um atributo, podemos considerar esta informação para processar a consulta.
Podemos desconsiderar os fragmentos que sabemos que não possuem tuplas que irão satisfazer um determinado predicado
Podemos ignorar os fragmentos verticais que possuem atributos que não nos interessam
consultas distribuídas
-
Influência da transmissão dos dados:
Devemos evitar transmitir uma grande quantidade de dados pela rede devido ao retardo de transmissão
- Influência na capacidade de processamento:
Devemos procurar executar as operações em servidores com maior poder de processamento.
Também é necessário balancear a carga dos servidores.
consultas distribuídas
Otimização de Consultas Distribuídas
O termo refere-se ao processo de produção de um plano para o processamento de uma consulta a um sistema de banco de dados distribuído. O plano é chamado de plano de execução da consulta.
consultas distribuídas
Otimização em Consultas Distribuídas
Podemos separar o processo de otimização de consultas distribuídas em duas etapas:
Otimização Global e Otimização Local
consultas distribuídas
Otimização Global: consiste em otimizar a consulta global com base em informações e estatísticas sobre os fragmentos e réplicas existentes, a decompondo em consultas locais que determinam o que será feito por cada site envolvido na consulta
Otimização Local: cada site envolvido otimiza sua consulta local com base nos dados estatísticos referentes ao esquema local e no custo dos algoritmos existentes para execução das operações.
segurança
Falhas:
Falha de comunicação entre os bancos, perda de mensagem e particionamento da rede, podendo vir a acarretar problemas na segurança e integridade dos dados.
segurança
-
Um dos principais benefícios de dos bancos de dados é a fiscalização sobre o acesso aos dados.
-
Os fragmentos de BDD devem ser seguros, e como eles não são centralizados, então seus lugares de acesso também devem ser seguros
segurança
- Segurança é um fator primordial
• Manter a segurança é uma tarefa muito séria, difícil e complexa;
• Tratar questões de rede ;
• Prevenção contra problemas, dentre eles: controle de acesso, tolerância a falhas, sincronização, e manutenção da integridade dos dados.
Segurança
Técnicas de segurança
• Autenticação, proteção contra ataques, criptografia, firewalls
• Integridade, confidencialidade e disponibilidade.
segurança
Problemas de Rede
-
Novas tecnologias trazem consigo novas vulnerabilidades;
-
Novas formas de ataques são criadas;
-
O aumento da conectividade resulta em novas possibilidades de ataques.
-
Aumento de crimes digitais
- A defesa é mais complexa que o ataque
-
Existência de ataques direcionados e oportunísticos
-
Entender a natureza do ataque é fundamental
dúvidas?
banco de dados distribuídos
By Guilherme Chagas
banco de dados distribuídos
- 1,768