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: 
Computação Cliente - Servidor: Trata os processos de comunicação
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