SlideShare a Scribd company logo
1 of 50
Banco de Dados
Distribuído
Profa. Danielle Filgueiras
Banco de Dados Distribuído
   Um sistema de Banco de Dados Distribuído (BDD)
    consiste em uma coleção de nós, cada qual podendo
    participar na execução de transações que acessam
    dados em um ou mais nós.
   Em um sistema de banco de dados distribuído, o banco
    de dados é armazenado em diversos computadores
    (nós). Os computadores, em um sistema distribuído,
    comunicam-se uns com os outros por intermédio de
    vários meios de comunicação, tais como redes de alta
    velocidade ou linhas de telefone. Eles não compartilham
    a memória principal e o relógio.


                        Profa. Danielle Filgueiras        2
Banco de Dados Distribuído
   Os processadores em um sistema distribuído
    podem variar em tamanho e função, podendo
    incluir microcomputadores, estações de
    trabalho, minicomputadores e sistemas de
    computadores de uso em geral. Estes
    processadores são geralmente chamados de
    nós, dependendo do contexto no qual eles
    estejam mencionados. Usa-se principalmente o
    termo nó (lugar, posição), a fim de enfatizar a
    distribuição física destes sistemas.


                     Profa. Danielle Filgueiras       3
Banco de Dados Distribuído
   A diferença principal entre sistemas de
    bancos de dados centralizados e
    distribuídos é que no primeiro os dados
    estão localizados em um único lugar,
    enquanto que no último os dados residem
    em diversos locais. Esta distribuição de
    dados é o motivo de muitas preocupações
    e dificuldades.

                  Profa. Danielle Filgueiras   4
Banco de Dados Distribuído
   Objetivo:
     Fornecer  a transparência de localização. Esta
      transparência significa que os usuários e suas
      aplicações não precisam saber qual a localização de
      qualquer item particular de dados. Ao invés disso,
      todas essas informações de localização devem ser
      mantidas pelo próprio sistema como parte de seu
      catálogo, e todas as solicitações de dados, por
      usuários, deveriam ser interpretadas pelo sistema de
      acordo com estas informações contidas nele.

                       Profa. Danielle Filgueiras            5
Banco de Dados Distribuído
   Uma solicitação para operar uma peça de dados
    não-local poderá fazer com que:
     esses  dados sejam deslocados para o nodo local,
      para processamento local
     O processamento deve ocorrer no nodo remoto e os
      resultados movimentados para o local
     a combinação de 1 e 2, mais comumente usados
As vantagens de tal transparência são óbvias: simplifica a lógica
dos programas de aplicação, e permite que os dados sejam deslocados
de um nodo para outro à medida que os padrões de utilização mudarem,
sem necessitar de qualquer reprogramação.

                            Profa. Danielle Filgueiras                 6
Evolução                                              SGBD
                                Computador A

                                                               Banco de
                                                               dados de
                                                               vendas

                                          Brasília


                                                          Rede de
                                                        Comunicação

                                                                                                        Computador C

                                 SGBD                                                 SGBD
     Computador B

                                           Banco de                                          Banco de
                                           dados de                                          dados de
                                           vendas                                            vendas

                    São Paulo                                             Fortaleza



      Os avanços tecnológicos contribuem muito com a evolução dos sistemas
distribuídos, fazendo com que esta seja uma das áreas de maior futuro,
principalmente, por ser uma área de influência no desenvolvimento dos
sistemas de informação.       Profa. Danielle Filgueiras                 7
Definições
   Um sistema de BDD existe quando um banco de dados,
    logicamente integrado, é fisicamente distribuído sobre
    diferentes nós de computação interligados por rede.
   Define-se um nó de computação como um computador
    (mini, micro, etc.) localizado numa área de organização
    com certas facilidades de processamento. Em cada um
    dos nós o software do SGBDD consiste minimamente do
    que se segue:
     Sistema operacional em cada nó
     Gerenciador de comunicação para programas remotos
     SGBD para gerenciamento local do banco de dados



                         Profa. Danielle Filgueiras       8
Definições
   O subconjunto do BD distribuído armazenando num nó é chamado
    de BD local. Assim, cada BD local tem um SGBD local, e o sistema
    de gerência do BDD é a união de todos os SGBD locais.
    Se os SGBD locais são idênticos, então se diz que o sistema é
    homogêneo, caso não sejam, ele é heterogêneo. O SGBDD é
    responsável pelo fornecimento de dados e tradução de exigências
    aos processos num ambiente distribuído heterogêneo.
   Um elemento importante num ambiente distribuído é o diretório de
    dados ou catálogo global, que é o meio pelo qual o SGBDD
    determina que nós precisam ser acessados com a finalidade de
    atender uma consulta particular. Sua localização física (centralizado
    e/ou distribuído) é importante na performance do sistema.




                             Profa. Danielle Filgueiras                 9
Estrutura de Controle
      É responsável por:
        Transparência de localização
        Fornecimento de respostas eficientes aos
         requerimentos dos usuários
        Preservação da consistência dos dados
        Conservação da integridade do sistema.
Um fator crítico deste componente é efetuar o controle de forma centralizada
(isto é, só um determinado nó é responsável pelo controle) ou distribuída (isto é,
todos os nós, no mesmo nível lógico, cooperam para executar um conjunto de tarefas).

                                 Profa. Danielle Filgueiras                   10
A principal diferença entre um sistema de
gerenciamento de banco de dados distribuídos
(SGBDD) e sistema de gerenciamento de banco
de dados paralelos (SGBDP) é a distribuição física

          SGBDD                                     SGBDP



       BD
                  BD                                  BD


     BD



                       Profa. Danielle Filgueiras           11
Características do SGBDD
   Os sites estão disponíveis entre si
   S.O. próprio
   Compartilham um esquema global comum
   Memória própria
   Cada site tem transações locais e globais
   Disco próprio
   SGBD local em cada site, preferivelmente sendo
    o mesmo (homog.)


                    Profa. Danielle Filgueiras   12
Vantagens
   Gerenciamento de dados distribuídos com
    níveis diferentes de transparência
     Transparência de distribuição ou de rede
     Transparência de replicação
     Transparência de fragmentação

   Melhoria da confiabilidade e na disponibilidade
   Melhoria de desempenho
   Expansão mais fácil

                       Profa. Danielle Filgueiras     13
Características do SGBDD
         Site A                                                Site B



                        Rede
 Comunicação
   via rede

                              Site C
                                               Se o SGBD for diferente em cada
                                               site , o SGBDD é classificado
                                               como heterogêneo

                  Profa. Danielle Filgueiras                             14
Funções adicionais
 Rastreamento de dados
 Processamento de consultas distribuídas
 Gerenciamento de transações distribuídas
 Gerenciamento de dados replicados
 Recuperação de banco de dados
  distribuído
 Segurança
 Gerenciamento do diretório distribuído
                Profa. Danielle Filgueiras   15
Armazenamento Distribuído dos
Dados
   Uma relação r (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

                       Profa. Danielle Filgueiras       16
Replicação de Dados
   A replicação de dados significa que um
    determinado objeto de dados lógicos pode
    possuir diversos representantes
    armazenados, em nodos. O grau de
    suporte para a replicação é um pré-
    requisito para atingir o verdadeiro
    potencial de um sistema distribuído.


                  Profa. Danielle Filgueiras   17
Replicação de Dados
   Disponibilidade: com a falha de um site que contém a
    relação r, outro site com r é encontrado e atende a
    solicitação, a despeito da falha de um site
   Aumento de paralelismo: os acessos de leitura á relação
    r, outros sites podem processar as consultas em
    paralelo. Com mais replicação, aumentam as chances
    do site que esta realizando a transação possuir a
    relação r, contribuindo assim com a minimização do
    movimento dos dados entre os sites.




                        Profa. Danielle Filgueiras       18
Replicação de Dados
   Aumento do overhead para atualização: o
    sistema deverá assegurar que todas as réplicas
    da relação r sejam consistentes, propagando a
    atualização a todas as réplicas. Sempre que
    houver atualização, ela deve ser propagada a
    todos os sites que contenham réplicas, evitando
    a inconsistência. Por exemplo: o saldo de uma
    conta bancária com um valor, possuindo um
    outro valor em uma consulta feita por outra
    agência, sendo ambas de um mesmo banco.


                     Profa. Danielle Filgueiras   19
Fragmentação de Dados
   Uma relação é dividida em fragmentos, onde
    cada fragmento contêm informação suficiente
    para permitir a reconstrução da relação original.
   A fragmentação pode ser feita de duas formas:
     Fragmentação    horizontal - divide a relação separando
      as tuplas de r em dois ou mais fragmentos
     Fragmentação vertical - divide a relação pela
      decomposição do esquema R da relação r



                        Profa. Danielle Filgueiras         20
Fragmentação de Dados
 A relação r é particionada em um número
  de subconjunto r1, r2, ...,rn
 Cada tupla da relação r deve pertencer a
  pelo menos um fragmento
 A relação r é a união de todos os
  fragmentos, isto é:
       R = r1 U r2 U ...U rn


                       Profa. Danielle Filgueiras   21
Fragmentação Horizontal (ex.)

         AGÊNCIA               CONTA         SALDO

CONTA    Brasília              A-110         1000
         Brasília              A-120         500
         São Paulo             A-500         500

         São Paulo             A-200         300

         Brasília              A-150         250
         Brasília              A-180         2000


                Profa. Danielle Filgueiras           22
Fragmentação Horizontal (ex.)

   AGÊNCIA    CONTA          SALDO

   Brasília   A-110          1000
                                                       CONTA
   Brasília   A-120          500

   Brasília   A-150          250

   Brasília   A-180          2000

                                   AGÊNCIA         CONTA   SALDO
                                   São Paulo       A-500   500
                                   São Paulo       A-200   300
                      Profa. Danielle Filgueiras                 23
Explicações
 O fragmento da agência ‘São Paulo’ será
  armazenado no site São Paulo, enquanto
  que o fragmento ‘Brasília’ estará no site
  Brasília.
 Neste exemplo os fragmentos estão
  excludentes, mas podem ser elaborados
  de forma que uma tupla pertença a mais
  fragmentos.

                 Profa. Danielle Filgueiras   24
Fragmentação Vertical
 É uma decomposição
 Vários subconjuntos de atributos R1,
  R2,...,Rn, tal que :
            R = r1 U r2 U... U rn
   A relação é reconstituída a partir dos
    fragmentos por uma junção natural:
            R = r1∆ r2∆ ... ∆rn




                           Profa. Danielle Filgueiras   25
Fragmentação Vertical (ex.)
   AGÊNCIA        CONTA              CLIENTE              SALDO
   Brasília       A-110              MARIA                1000
                                                                             CONTA
   Brasília       A-120              PEDRO                500
   São Paulo      A-500              JOÃO                 500
   São Paulo      A-200              RICARDO              300
   Brasília       A-150              MARCELO              250
   Brasília       A-180              CARLA                2000


      AGÊNCIA             CONTA                 CLIENTE           SALDO   TUPLA_ID
      Brasília            A-110                 MARIA             1000       1
      Brasília            A-120                 PEDRO             500        2
      São Paulo           A-500                 JOÃO              500        3
      São Paulo           A-200                 RICARDO           300        4
      Brasília            A-150                 MARCELO           250        5
      Brasília            A-180                 CARLA             2000       6
                             Profa. Danielle Filgueiras                          26
junção dos fragmentos verticais




AGÊNCIA        CONTA         TUPLA_ID                   CLIENTE   SALDO   TUPLA_ID
Brasília       A-110         1                          MARIA     1000    1
Brasília       A-120         2                          PEDRO     500     2
São Paulo      A-500         3                          JOÃO      500     3
São Paulo      A-200         4                          RICARDO   300     4
Brasília       A-150         5                          MARCELO   250     5
Brasília       A-180         6                          CARLA     2000    6



      Por possuir um identificador único, a reconstrução da relação pode
      ser conseguida por meio de uma junção natural, onde o
      atributo de junção é a tupla_id.


                                 Profa. Danielle Filgueiras                   27
Fragmentação Mista
 A relação r é particionada em um número
  de fragmentos r1, r2, ...,rn
 Cada um dos fragmentos é resultado da
  fragmentação horizontal ou vertical, ou
  ainda sobre um fragmento de r obtido
  anteriormente



                Profa. Danielle Filgueiras   28
Fragmentação Mista (ex.)
AGÊNCIA      CONTA       TUPLA_ID
                                                          fragmentação vertical
Brasília     A-110       1
                                                   CLIENTE            SALDO       TUPLA_ID
Brasília     A-120       2                         MARIA              1000        1
                                                   PEDRO              500         2
Brasília     A-150       5
                                                   JOÃO               500         3
Brasília     A-180       6
                                                   RICARDO            300         4
                                                   MARCELO            250         5
              fragmentação horizontal              CARLA              2000        6


 AGÊNCIA     CONTA           TUPLA_ID
 São Paulo   A-500           3
 São Paulo   A-200           4

                             Profa. Danielle Filgueiras                               29
Fragmentação e Replicação de
Dados
 As técnicas de fragmentação e replicação
  podem ser aplicadas sucessivamente a
  uma mesma relação
 Um fragmento pode ser replicado, e as
  réplicas podem ser fragmentadas
  novamente e assim por diante



                Profa. Danielle Filgueiras   30
Transparência de Localização (de
Rede)
   A preocupação com a transparência
    possui os seguintes objetivos,
    relacionados aos pontos de vista de:

                       Nível de Transparência
                                  ↓
         Grau de desconhecimento sobre as relações no sistema
                             distribuído


                         Profa. Danielle Filgueiras             31
Transparência de Localização (de
Rede)
   Denominação dos dados
     Replicaçãodos itens de dados
     Fragmentação dos itens de dados
     Locação das réplicas ou fragmentos




                    Profa. Danielle Filgueiras   32
Processamento de Consultas
Distribuídas
   Contexto
    A   transparência para leitura é mais fácil de se
      conseguir e manter do que a transparência para
      atualização.
     O maior problema para a atualização é garantir que
      todas as réplicas e fragmentos sejam atualizados,
      após uma atualização em uma das réplicas ou
      fragmentos. A atualização deve ser prolongada para
      todas as cópias (réplicas e fragmentos) existentes no
      sistema.


                       Profa. Danielle Filgueiras         33
Processamento de Consultas
Distribuídas
   As consultas em um BDD devem se
    preocupar em minimizar o tempo total
    para a apresentação do resultado
    alcançado.




                  Profa. Danielle Filgueiras   34
Processamento de Consultas
Distribuídas
   Um dos fatores mais importantes no desempenho de uma consulta,
    em uma base centralizada, é a quantidade de acesso a disco
    necessária para atingir o resultado.
   Em um banco distribuído os problemas aumentam, pois existe
    também a preocupação com a transmissão de dados na rede.
   Um fator interessante para a consulta realizada em uma base
    distribuída é que para os diversos sites podem processar partes da
    consulta em paralelo.
   Na realização de uma consulta simples (trivial), como consultar
    todas as tuplas da relação CONTA, pode caracterizar um
    processamento não tão trivial, pois CONTA pode estar
    fragmentada, replicada ou ambas.




                            Profa. Danielle Filgueiras              35
Processamento de Consultas
Distribuídas
   Além disto, a consulta pode precisar de diversas
    junções e uniões para a reconstrução da relação toda
    (CONTA).
   O processamento de consultas tem como aspecto mais
    importante a escolha da forma de junção a ser
    realizada.
   Considere a junção CONTA X DEPOSITANTE X
    AGÊNCIA dos esquemas. Considere também que
    nenhuma das três relações foi replicada ou
    fragmentada, mas CONTA esta no Site 1,
    DEPOSITANTE no Site 2 e AGÊNCIA no Site 3.
   A origem da consulta é no Site 1, onde será produzido o
    resultado da mesma.

                        Profa. Danielle Filgueiras       36
Estratégias de Consultas
   Enviar cópia das três relações para o Site 1,
    onde será aplicada a melhor estratégia de
    consulta local
   Enviar cópia de CONTA para o Site 2, e lá obter
    temp1=(CONTA X DEPOSITANTE); em seguida
    enviar temp1do Site 2 para o Site 3 obtendo lá o
    temp2=(temp1 X AGÊNCIA); por fim enviar o
    resultado (temp2) para o Site 1
   Aplicar estratégia similar à anterior, alterando as
    regras entre os Sites 1, 2 e 3


                      Profa. Danielle Filgueiras     37
Estratégias de Consultas
   Na primeira estratégia ainda existe o re-processamento
    dos índices da relação transportada, configurando um
    processamento extra.
   Na segunda estratégia ocorre a transmissão de uma
    relação potencialmente maior.
   Necessariamente, não existe a melhor estratégia, mas
    deve-se considerar:
     volume de dados a ser transportado
     custo de transmissão de um Site para outro
     velocidade relativa de processamento em cada Site




                          Profa. Danielle Filgueiras      38
Transações
   O acesso a diversos itens de dados em
    um sistema distribuído é normalmente
    acompanhado de transações que têm de
    preservar as propriedades ACID.
    A   : Atomicidade
     C : Consistência
     I : Isolamento
     D : Durabilidade


                    Profa. Danielle Filgueiras   39
Características ACID
   Atomicidade:Todas as operações da transação são
    refletidas corretamente no BD ou nenhuma será
   Consistência: A execução de uma transação isolada
    preserva a consistência do banco de dados
   Isolamento: Cada transação não toma conhecimento de
    outras transações concorrentes
   Durabilidade: Depois da transação completar-se com
    sucesso, as mudanças que ela faz no banco de dados
    persistem



                       Profa. Danielle Filgueiras     40
Tipos de transações
   Locais
     mantém  acesso e atualizam somente a base
      de dados local
   Globais
     mantém  acesso e atualizam diversas bases
      de dados locais



                    Profa. Danielle Filgueiras    41
Estruturas de Sistemas
   Em cada Site existe o seu próprio gerenciador de
    transações local, cuja função é garantir as propriedades
    ACID das transações executadas localmente.
   Os diversos gerenciadores cooperam para executar as
    transações globais.
   Com o intuito de compreender melhor como esses
    gerenciadores podem ser implementados, pode-se
    definir um modelo abstrato para o sistema de
    transações.
   Nesta definição cada Site possui dois subsistema:
     Gerenciador de transações
     Coordenador de transações



                         Profa. Danielle Filgueiras        42
Estruturas de Sistemas
   O gerenciador administra a execução daquelas
    transações que mantém acesso aos dados locais. Cada
    uma dessas transações pode ser uma transação local
    ou parte de uma transação global.
   O coordenador coordena a execução de várias
    transações (locais ou globais) iniciadas naquele Site.
              Computador 1                           Computador n

                                                        TCn    Coordenador
                 TC1                                           de transação

                             . . .                             Gerenciador de
                                                        TMn
                 TM1                                             transação
                        Profa. Danielle Filgueiras                            43
Gerenciador de Transações
 Manutenção de um log para propósito de
  recuperação
 Participação em um esquema de controle
  de concorrência adequado para
  coordenação da execução de
  transações concorrentes em um mesmo
  site

                Profa. Danielle Filgueiras   44
Coordenador de Transações
   Iniciar a execução da transação
     Quebrar  uma transação em um número
      determinado de sub-transações e distribuí-
      las pelos Sites apropriados para   a
      execução
     Coordenar o término das transações, que
      podem resultar     em efetivações em todos
      os Sites ou em interrupção em      todos os
      Sites.

                    Profa. Danielle Filgueiras   45
Falhas
   Um sistema distribuído pode sofrer os mesmos tipos de
    falhas que ocorrem em um sistema centralizado, porém
    existem falhas adicionais que podem ocorrer em um
    BDD, tais como: falha em um site, falha na comunicação
    entre eles, perda de mensagens e o particionamento da
    rede.
   Cada um desses problemas devem ser considerados no
    projeto de recuperação de um BDD.
   Para um sistema ser robusto, ele precisa detectar
    qualquer uma dessas falhas, reconfigurar-se de modo a
    manter o processamento e recuperar-se enquanto a
    falha é recuperada.


                       Profa. Danielle Filgueiras       46
Preocupações
   Protocolo de efetivação (garantir a atomicidade)
     duas  fases (obstrução) – 2PC
     três fases – 3PC

   Controle de concorrência
     Algumas   alterações no modo de funcionamento e de
      controle do sistema centralizado podem permitir a
      funcionalidade deles em um sistema distribuído.




                       Profa. Danielle Filgueiras      47
Sistemas de Banco de Dados
Múltiplos
   Nos últimos anos desenvolveram-se novas aplicações
    usando diversos BD preexistentes, localizados em
    ambientes heterogêneos de hardware e software. Para
    isso, foi necessária uma camada de software adicional
    em um nível superior ao BD, onde ela tratava as
    informações localizadas em um BD heterogêneo. Esta
    camada é chamada de Sistema de Banco de Dados
    Múltiplo.
   Os sistemas de BD locais podem empregar modelos
    lógicos diferentes e diferentes linguagens de definição e
    manipulação de dados. Podem também diferir dos seus
    mecanismos de controle de concorrência e
    gerenciamento de transações.

                        Profa. Danielle Filgueiras         48
Sistemas de Banco de Dados
Múltiplos
   Um sistema de BD Múltiplo cria a ilusão de integração
    lógica do BD, sem exigir uma integração física
    correspondente.
   A integração formando um BDD homogêneo é muito
    difícil, em uma grande maioria dos casos, é impossível
    principalmente por:
     Dificuldades Técnicas – os investimentos nos BD existentes
      podem ser imensos e o custo da conversão das aplicações
      pode ser proibitivo
     Dificuldades Organizacionais – mesmo para integrações
      tecnicamente viáveis, pode ocorrer a impossibilidade por
      motivos políticos, principalmente, quando os sistemas de BD
      pertencem a diferentes organizações.

                          Profa. Danielle Filgueiras                49
Bibliografia
 Korth, H. F. e Silberschatz, A. Sistemas
  de Banco de Dados, São Paulo, McGraw-
  Hill, 3 edição, Capítulo 18 - 589-634 p.,
  1999.
 Frigeri, S. R., Banco de Dados
  Distribuídos, Caxias do Sul, Universidade
  Federal do Rio Grande do Sul - site
  www.ufrgs.br, 1996.
                 Profa. Danielle Filgueiras   50

More Related Content

What's hot

What's hot (19)

Modelos de Banco de dados e SGBDS
Modelos de Banco de dados e SGBDSModelos de Banco de dados e SGBDS
Modelos de Banco de dados e SGBDS
 
Banco de Dados
Banco de DadosBanco de Dados
Banco de Dados
 
Uninove dw
Uninove   dwUninove   dw
Uninove dw
 
Artigo de banco de dados
Artigo  de banco de dadosArtigo  de banco de dados
Artigo de banco de dados
 
Apostila banco de dados
Apostila banco de dadosApostila banco de dados
Apostila banco de dados
 
Material Modelagem - Prof. Marcos Alexandruk
Material Modelagem - Prof. Marcos AlexandrukMaterial Modelagem - Prof. Marcos Alexandruk
Material Modelagem - Prof. Marcos Alexandruk
 
Ebook - Metadados para estratégias de conteúdo
Ebook - Metadados para estratégias de conteúdoEbook - Metadados para estratégias de conteúdo
Ebook - Metadados para estratégias de conteúdo
 
Bancodedados
BancodedadosBancodedados
Bancodedados
 
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
 
Teoria de banco de dados
Teoria de banco de dadosTeoria de banco de dados
Teoria de banco de dados
 
BDI_1_conceitos
BDI_1_conceitosBDI_1_conceitos
BDI_1_conceitos
 
Banco dados i prof ivan (acesse www.portalgsti.com.br)
Banco dados i prof ivan (acesse  www.portalgsti.com.br)Banco dados i prof ivan (acesse  www.portalgsti.com.br)
Banco dados i prof ivan (acesse www.portalgsti.com.br)
 
2º trabalho de base dados
2º trabalho de base dados2º trabalho de base dados
2º trabalho de base dados
 
Mini curso banco de dados comercial publicar
Mini curso   banco de dados comercial publicarMini curso   banco de dados comercial publicar
Mini curso banco de dados comercial publicar
 
Banco de Dados Distribuidos
Banco de Dados DistribuidosBanco de Dados Distribuidos
Banco de Dados Distribuidos
 
Virtualização
VirtualizaçãoVirtualização
Virtualização
 
Poster08
Poster08Poster08
Poster08
 
38664419 artigo-data warehouse
38664419 artigo-data warehouse38664419 artigo-data warehouse
38664419 artigo-data warehouse
 
Banco de Dados Distribuídos
Banco de Dados DistribuídosBanco de Dados Distribuídos
Banco de Dados Distribuídos
 

Viewers also liked

Escalando aplicação Python usando Getup OpenShift
Escalando aplicação Python usando Getup OpenShiftEscalando aplicação Python usando Getup OpenShift
Escalando aplicação Python usando Getup OpenShiftGetup Cloud
 
Introdução a banco de dados
Introdução a banco de dadosIntrodução a banco de dados
Introdução a banco de dadosOdwald Schreder
 
Integrando aplicações com redis
Integrando aplicações com redisIntegrando aplicações com redis
Integrando aplicações com redisFelipe Monteiro
 
Bancos de dados open source
Bancos de dados open sourceBancos de dados open source
Bancos de dados open sourceRodrigo Aurélio
 
Bancos orientados a colunas (Cassandra)
Bancos orientados a colunas (Cassandra) Bancos orientados a colunas (Cassandra)
Bancos orientados a colunas (Cassandra) Otávio Santana
 
Redis – What, Why, When, How?
Redis – What, Why, When, How?Redis – What, Why, When, How?
Redis – What, Why, When, How?Kinn Julião
 
Algumas das principais características do NoSQL
Algumas das principais características do NoSQLAlgumas das principais características do NoSQL
Algumas das principais características do NoSQLEric Silva
 
Escalando Aplicações com Redis
Escalando Aplicações com RedisEscalando Aplicações com Redis
Escalando Aplicações com RedisWaldyr Felix
 
Bancos de dados NoSQL - Redis e MongoDB
Bancos de dados NoSQL - Redis e MongoDBBancos de dados NoSQL - Redis e MongoDB
Bancos de dados NoSQL - Redis e MongoDBPaulo Bischof
 
Deploy completo de uma aplicação Django
Deploy completo de uma aplicação DjangoDeploy completo de uma aplicação Django
Deploy completo de uma aplicação DjangoAllisson Azevedo
 
Big data da teoria à prática
Big data  da teoria à práticaBig data  da teoria à prática
Big data da teoria à práticaMario Guedes
 
Redis um banco chave valor
Redis um banco chave valorRedis um banco chave valor
Redis um banco chave valorKinn Julião
 
Paradigmas de Linguagens de Programacao - Aula #1
Paradigmas de Linguagens de Programacao - Aula #1Paradigmas de Linguagens de Programacao - Aula #1
Paradigmas de Linguagens de Programacao - Aula #1Ismar Silveira
 
Paradigmas de Linguagens de programacao - Aula #2
Paradigmas de Linguagens de programacao - Aula #2Paradigmas de Linguagens de programacao - Aula #2
Paradigmas de Linguagens de programacao - Aula #2Ismar Silveira
 
Sistemas Operacionais - 2 - Tipos de Sistemas Computacionais
Sistemas Operacionais - 2 - Tipos de Sistemas ComputacionaisSistemas Operacionais - 2 - Tipos de Sistemas Computacionais
Sistemas Operacionais - 2 - Tipos de Sistemas ComputacionaisMauro Duarte
 
Sistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaSistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaAdriano Teixeira de Souza
 
Python RESTful webservices with Python: Flask and Django solutions
Python RESTful webservices with Python: Flask and Django solutionsPython RESTful webservices with Python: Flask and Django solutions
Python RESTful webservices with Python: Flask and Django solutionsSolution4Future
 

Viewers also liked (20)

Escalando aplicação Python usando Getup OpenShift
Escalando aplicação Python usando Getup OpenShiftEscalando aplicação Python usando Getup OpenShift
Escalando aplicação Python usando Getup OpenShift
 
Introdução a banco de dados
Introdução a banco de dadosIntrodução a banco de dados
Introdução a banco de dados
 
Integrando aplicações com redis
Integrando aplicações com redisIntegrando aplicações com redis
Integrando aplicações com redis
 
Bancos de dados open source
Bancos de dados open sourceBancos de dados open source
Bancos de dados open source
 
01 aula1 habib
01 aula1 habib01 aula1 habib
01 aula1 habib
 
Bancos orientados a colunas (Cassandra)
Bancos orientados a colunas (Cassandra) Bancos orientados a colunas (Cassandra)
Bancos orientados a colunas (Cassandra)
 
Redis – What, Why, When, How?
Redis – What, Why, When, How?Redis – What, Why, When, How?
Redis – What, Why, When, How?
 
Algumas das principais características do NoSQL
Algumas das principais características do NoSQLAlgumas das principais características do NoSQL
Algumas das principais características do NoSQL
 
Escalando Aplicações com Redis
Escalando Aplicações com RedisEscalando Aplicações com Redis
Escalando Aplicações com Redis
 
Bancos de dados NoSQL - Redis e MongoDB
Bancos de dados NoSQL - Redis e MongoDBBancos de dados NoSQL - Redis e MongoDB
Bancos de dados NoSQL - Redis e MongoDB
 
Deploy completo de uma aplicação Django
Deploy completo de uma aplicação DjangoDeploy completo de uma aplicação Django
Deploy completo de uma aplicação Django
 
Docker + Django
Docker + DjangoDocker + Django
Docker + Django
 
Big data da teoria à prática
Big data  da teoria à práticaBig data  da teoria à prática
Big data da teoria à prática
 
Redis um banco chave valor
Redis um banco chave valorRedis um banco chave valor
Redis um banco chave valor
 
Paradigmas de Linguagens de Programacao - Aula #1
Paradigmas de Linguagens de Programacao - Aula #1Paradigmas de Linguagens de Programacao - Aula #1
Paradigmas de Linguagens de Programacao - Aula #1
 
Paradigmas de Linguagens de programacao - Aula #2
Paradigmas de Linguagens de programacao - Aula #2Paradigmas de Linguagens de programacao - Aula #2
Paradigmas de Linguagens de programacao - Aula #2
 
Sistemas Operacionais - 2 - Tipos de Sistemas Computacionais
Sistemas Operacionais - 2 - Tipos de Sistemas ComputacionaisSistemas Operacionais - 2 - Tipos de Sistemas Computacionais
Sistemas Operacionais - 2 - Tipos de Sistemas Computacionais
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
 
Sistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaSistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e Paralela
 
Python RESTful webservices with Python: Flask and Django solutions
Python RESTful webservices with Python: Flask and Django solutionsPython RESTful webservices with Python: Flask and Django solutions
Python RESTful webservices with Python: Flask and Django solutions
 

Similar to 549891

Banco de Dados Distribuidos
Banco de Dados DistribuidosBanco de Dados Distribuidos
Banco de Dados DistribuidosAndré Fachin
 
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
 
Aula 2 arquitecturas de sgbd, utilizadores, perfis
Aula 2   arquitecturas de sgbd, utilizadores, perfisAula 2   arquitecturas de sgbd, utilizadores, perfis
Aula 2 arquitecturas de sgbd, utilizadores, perfisHélio Martins
 
Introducao banco de dados
Introducao banco de dadosIntroducao banco de dados
Introducao banco de dadosvaniakenob
 
Célio Azevedo - Apostilas de SQL atualizadas
Célio Azevedo - Apostilas de SQL atualizadasCélio Azevedo - Apostilas de SQL atualizadas
Célio Azevedo - Apostilas de SQL atualizadasUCAM
 
Aula2 caracteristicas da_tecnologia_de_banco_de_dados
Aula2 caracteristicas da_tecnologia_de_banco_de_dadosAula2 caracteristicas da_tecnologia_de_banco_de_dados
Aula2 caracteristicas da_tecnologia_de_banco_de_dadosAntony Barbosa
 
Apresentação new sql
Apresentação new sqlApresentação new sql
Apresentação new sqlw_barros
 
Data Mesh: O que é e quais tecnologias facilitam sua implementação?
Data Mesh: O que é e quais tecnologias facilitam sua implementação?Data Mesh: O que é e quais tecnologias facilitam sua implementação?
Data Mesh: O que é e quais tecnologias facilitam sua implementação?Denodo
 
Aula 1 introdução a base de dados
Aula 1   introdução a base de dadosAula 1   introdução a base de dados
Aula 1 introdução a base de dadosHélio Martins
 

Similar to 549891 (20)

1_intro.ppt
1_intro.ppt1_intro.ppt
1_intro.ppt
 
Banco de Dados Distribuidos
Banco de Dados DistribuidosBanco de Dados Distribuidos
Banco de Dados Distribuidos
 
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
 
Banco aula 01
Banco aula 01Banco aula 01
Banco aula 01
 
BANCO DE DADOS.pptx
BANCO DE DADOS.pptxBANCO DE DADOS.pptx
BANCO DE DADOS.pptx
 
BDD
BDDBDD
BDD
 
Banco dedados aula001
Banco dedados aula001Banco dedados aula001
Banco dedados aula001
 
SGBD
SGBDSGBD
SGBD
 
Aula 2 arquitecturas de sgbd, utilizadores, perfis
Aula 2   arquitecturas de sgbd, utilizadores, perfisAula 2   arquitecturas de sgbd, utilizadores, perfis
Aula 2 arquitecturas de sgbd, utilizadores, perfis
 
Introducao banco de dados
Introducao banco de dadosIntroducao banco de dados
Introducao banco de dados
 
Banco aula 01
Banco aula 01Banco aula 01
Banco aula 01
 
Banco de dados aula 03
Banco de dados   aula 03Banco de dados   aula 03
Banco de dados aula 03
 
Célio Azevedo - Apostilas de SQL atualizadas
Célio Azevedo - Apostilas de SQL atualizadasCélio Azevedo - Apostilas de SQL atualizadas
Célio Azevedo - Apostilas de SQL atualizadas
 
Aula2 caracteristicas da_tecnologia_de_banco_de_dados
Aula2 caracteristicas da_tecnologia_de_banco_de_dadosAula2 caracteristicas da_tecnologia_de_banco_de_dados
Aula2 caracteristicas da_tecnologia_de_banco_de_dados
 
Elmasri_cap1.pptx
Elmasri_cap1.pptxElmasri_cap1.pptx
Elmasri_cap1.pptx
 
Apresentação new sql
Apresentação new sqlApresentação new sql
Apresentação new sql
 
Aula 2 banco de dados
Aula 2   banco de dadosAula 2   banco de dados
Aula 2 banco de dados
 
Ara7129 unidade-1-v1
Ara7129 unidade-1-v1Ara7129 unidade-1-v1
Ara7129 unidade-1-v1
 
Data Mesh: O que é e quais tecnologias facilitam sua implementação?
Data Mesh: O que é e quais tecnologias facilitam sua implementação?Data Mesh: O que é e quais tecnologias facilitam sua implementação?
Data Mesh: O que é e quais tecnologias facilitam sua implementação?
 
Aula 1 introdução a base de dados
Aula 1   introdução a base de dadosAula 1   introdução a base de dados
Aula 1 introdução a base de dados
 

549891

  • 2. Banco de Dados Distribuído  Um sistema de Banco de Dados Distribuído (BDD) consiste em uma coleção de nós, cada qual podendo participar na execução de transações que acessam dados em um ou mais nós.  Em um sistema de banco de dados distribuído, o banco de dados é armazenado em diversos computadores (nós). Os computadores, em um sistema distribuído, comunicam-se uns com os outros por intermédio de vários meios de comunicação, tais como redes de alta velocidade ou linhas de telefone. Eles não compartilham a memória principal e o relógio. Profa. Danielle Filgueiras 2
  • 3. Banco de Dados Distribuído  Os processadores em um sistema distribuído podem variar em tamanho e função, podendo incluir microcomputadores, estações de trabalho, minicomputadores e sistemas de computadores de uso em geral. Estes processadores são geralmente chamados de nós, dependendo do contexto no qual eles estejam mencionados. Usa-se principalmente o termo nó (lugar, posição), a fim de enfatizar a distribuição física destes sistemas. Profa. Danielle Filgueiras 3
  • 4. Banco de Dados Distribuído  A diferença principal entre sistemas de bancos de dados centralizados e distribuídos é que no primeiro os dados estão localizados em um único lugar, enquanto que no último os dados residem em diversos locais. Esta distribuição de dados é o motivo de muitas preocupações e dificuldades. Profa. Danielle Filgueiras 4
  • 5. Banco de Dados Distribuído  Objetivo:  Fornecer a transparência de localização. Esta transparência significa que os usuários e suas aplicações não precisam saber qual a localização de qualquer item particular de dados. Ao invés disso, todas essas informações de localização devem ser mantidas pelo próprio sistema como parte de seu catálogo, e todas as solicitações de dados, por usuários, deveriam ser interpretadas pelo sistema de acordo com estas informações contidas nele. Profa. Danielle Filgueiras 5
  • 6. Banco de Dados Distribuído  Uma solicitação para operar uma peça de dados não-local poderá fazer com que:  esses dados sejam deslocados para o nodo local, para processamento local  O processamento deve ocorrer no nodo remoto e os resultados movimentados para o local  a combinação de 1 e 2, mais comumente usados As vantagens de tal transparência são óbvias: simplifica a lógica dos programas de aplicação, e permite que os dados sejam deslocados de um nodo para outro à medida que os padrões de utilização mudarem, sem necessitar de qualquer reprogramação. Profa. Danielle Filgueiras 6
  • 7. Evolução SGBD Computador A Banco de dados de vendas Brasília Rede de Comunicação Computador C SGBD SGBD Computador B Banco de Banco de dados de dados de vendas vendas São Paulo Fortaleza Os avanços tecnológicos contribuem muito com a evolução dos sistemas distribuídos, fazendo com que esta seja uma das áreas de maior futuro, principalmente, por ser uma área de influência no desenvolvimento dos sistemas de informação. Profa. Danielle Filgueiras 7
  • 8. Definições  Um sistema de BDD existe quando um banco de dados, logicamente integrado, é fisicamente distribuído sobre diferentes nós de computação interligados por rede.  Define-se um nó de computação como um computador (mini, micro, etc.) localizado numa área de organização com certas facilidades de processamento. Em cada um dos nós o software do SGBDD consiste minimamente do que se segue:  Sistema operacional em cada nó  Gerenciador de comunicação para programas remotos  SGBD para gerenciamento local do banco de dados Profa. Danielle Filgueiras 8
  • 9. Definições  O subconjunto do BD distribuído armazenando num nó é chamado de BD local. Assim, cada BD local tem um SGBD local, e o sistema de gerência do BDD é a união de todos os SGBD locais.  Se os SGBD locais são idênticos, então se diz que o sistema é homogêneo, caso não sejam, ele é heterogêneo. O SGBDD é responsável pelo fornecimento de dados e tradução de exigências aos processos num ambiente distribuído heterogêneo.  Um elemento importante num ambiente distribuído é o diretório de dados ou catálogo global, que é o meio pelo qual o SGBDD determina que nós precisam ser acessados com a finalidade de atender uma consulta particular. Sua localização física (centralizado e/ou distribuído) é importante na performance do sistema. Profa. Danielle Filgueiras 9
  • 10. Estrutura de Controle  É responsável por:  Transparência de localização  Fornecimento de respostas eficientes aos requerimentos dos usuários  Preservação da consistência dos dados  Conservação da integridade do sistema. Um fator crítico deste componente é efetuar o controle de forma centralizada (isto é, só um determinado nó é responsável pelo controle) ou distribuída (isto é, todos os nós, no mesmo nível lógico, cooperam para executar um conjunto de tarefas). Profa. Danielle Filgueiras 10
  • 11. A principal diferença entre um sistema de gerenciamento de banco de dados distribuídos (SGBDD) e sistema de gerenciamento de banco de dados paralelos (SGBDP) é a distribuição física SGBDD SGBDP BD BD BD BD Profa. Danielle Filgueiras 11
  • 12. Características do SGBDD  Os sites estão disponíveis entre si  S.O. próprio  Compartilham um esquema global comum  Memória própria  Cada site tem transações locais e globais  Disco próprio  SGBD local em cada site, preferivelmente sendo o mesmo (homog.) Profa. Danielle Filgueiras 12
  • 13. Vantagens  Gerenciamento de dados distribuídos com níveis diferentes de transparência  Transparência de distribuição ou de rede  Transparência de replicação  Transparência de fragmentação  Melhoria da confiabilidade e na disponibilidade  Melhoria de desempenho  Expansão mais fácil Profa. Danielle Filgueiras 13
  • 14. Características do SGBDD Site A Site B Rede Comunicação via rede Site C Se o SGBD for diferente em cada site , o SGBDD é classificado como heterogêneo Profa. Danielle Filgueiras 14
  • 15. Funções adicionais  Rastreamento de dados  Processamento de consultas distribuídas  Gerenciamento de transações distribuídas  Gerenciamento de dados replicados  Recuperação de banco de dados distribuído  Segurança  Gerenciamento do diretório distribuído Profa. Danielle Filgueiras 15
  • 16. Armazenamento Distribuído dos Dados  Uma relação r (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 Profa. Danielle Filgueiras 16
  • 17. Replicação de Dados  A replicação de dados significa que um determinado objeto de dados lógicos pode possuir diversos representantes armazenados, em nodos. O grau de suporte para a replicação é um pré- requisito para atingir o verdadeiro potencial de um sistema distribuído. Profa. Danielle Filgueiras 17
  • 18. Replicação de Dados  Disponibilidade: com a falha de um site que contém a relação r, outro site com r é encontrado e atende a solicitação, a despeito da falha de um site  Aumento de paralelismo: os acessos de leitura á relação r, outros sites podem processar as consultas em paralelo. Com mais replicação, aumentam as chances do site que esta realizando a transação possuir a relação r, contribuindo assim com a minimização do movimento dos dados entre os sites. Profa. Danielle Filgueiras 18
  • 19. Replicação de Dados  Aumento do overhead para atualização: o sistema deverá assegurar que todas as réplicas da relação r sejam consistentes, propagando a atualização a todas as réplicas. Sempre que houver atualização, ela deve ser propagada a todos os sites que contenham réplicas, evitando a inconsistência. Por exemplo: o saldo de uma conta bancária com um valor, possuindo um outro valor em uma consulta feita por outra agência, sendo ambas de um mesmo banco. Profa. Danielle Filgueiras 19
  • 20. Fragmentação de Dados  Uma relação é dividida em fragmentos, onde cada fragmento contêm informação suficiente para permitir a reconstrução da relação original.  A fragmentação pode ser feita de duas formas:  Fragmentação horizontal - divide a relação separando as tuplas de r em dois ou mais fragmentos  Fragmentação vertical - divide a relação pela decomposição do esquema R da relação r Profa. Danielle Filgueiras 20
  • 21. Fragmentação de Dados  A relação r é particionada em um número de subconjunto r1, r2, ...,rn  Cada tupla da relação r deve pertencer a pelo menos um fragmento  A relação r é a união de todos os fragmentos, isto é:  R = r1 U r2 U ...U rn Profa. Danielle Filgueiras 21
  • 22. Fragmentação Horizontal (ex.) AGÊNCIA CONTA SALDO CONTA Brasília A-110 1000 Brasília A-120 500 São Paulo A-500 500 São Paulo A-200 300 Brasília A-150 250 Brasília A-180 2000 Profa. Danielle Filgueiras 22
  • 23. Fragmentação Horizontal (ex.) AGÊNCIA CONTA SALDO Brasília A-110 1000 CONTA Brasília A-120 500 Brasília A-150 250 Brasília A-180 2000 AGÊNCIA CONTA SALDO São Paulo A-500 500 São Paulo A-200 300 Profa. Danielle Filgueiras 23
  • 24. Explicações  O fragmento da agência ‘São Paulo’ será armazenado no site São Paulo, enquanto que o fragmento ‘Brasília’ estará no site Brasília.  Neste exemplo os fragmentos estão excludentes, mas podem ser elaborados de forma que uma tupla pertença a mais fragmentos. Profa. Danielle Filgueiras 24
  • 25. Fragmentação Vertical  É uma decomposição  Vários subconjuntos de atributos R1, R2,...,Rn, tal que :  R = r1 U r2 U... U rn  A relação é reconstituída a partir dos fragmentos por uma junção natural:  R = r1∆ r2∆ ... ∆rn Profa. Danielle Filgueiras 25
  • 26. Fragmentação Vertical (ex.) AGÊNCIA CONTA CLIENTE SALDO Brasília A-110 MARIA 1000 CONTA Brasília A-120 PEDRO 500 São Paulo A-500 JOÃO 500 São Paulo A-200 RICARDO 300 Brasília A-150 MARCELO 250 Brasília A-180 CARLA 2000 AGÊNCIA CONTA CLIENTE SALDO TUPLA_ID Brasília A-110 MARIA 1000 1 Brasília A-120 PEDRO 500 2 São Paulo A-500 JOÃO 500 3 São Paulo A-200 RICARDO 300 4 Brasília A-150 MARCELO 250 5 Brasília A-180 CARLA 2000 6 Profa. Danielle Filgueiras 26
  • 27. junção dos fragmentos verticais AGÊNCIA CONTA TUPLA_ID CLIENTE SALDO TUPLA_ID Brasília A-110 1 MARIA 1000 1 Brasília A-120 2 PEDRO 500 2 São Paulo A-500 3 JOÃO 500 3 São Paulo A-200 4 RICARDO 300 4 Brasília A-150 5 MARCELO 250 5 Brasília A-180 6 CARLA 2000 6 Por possuir um identificador único, a reconstrução da relação pode ser conseguida por meio de uma junção natural, onde o atributo de junção é a tupla_id. Profa. Danielle Filgueiras 27
  • 28. Fragmentação Mista  A relação r é particionada em um número de fragmentos r1, r2, ...,rn  Cada um dos fragmentos é resultado da fragmentação horizontal ou vertical, ou ainda sobre um fragmento de r obtido anteriormente Profa. Danielle Filgueiras 28
  • 29. Fragmentação Mista (ex.) AGÊNCIA CONTA TUPLA_ID fragmentação vertical Brasília A-110 1 CLIENTE SALDO TUPLA_ID Brasília A-120 2 MARIA 1000 1 PEDRO 500 2 Brasília A-150 5 JOÃO 500 3 Brasília A-180 6 RICARDO 300 4 MARCELO 250 5 fragmentação horizontal CARLA 2000 6 AGÊNCIA CONTA TUPLA_ID São Paulo A-500 3 São Paulo A-200 4 Profa. Danielle Filgueiras 29
  • 30. Fragmentação e Replicação de Dados  As técnicas de fragmentação e replicação podem ser aplicadas sucessivamente a uma mesma relação  Um fragmento pode ser replicado, e as réplicas podem ser fragmentadas novamente e assim por diante Profa. Danielle Filgueiras 30
  • 31. Transparência de Localização (de Rede)  A preocupação com a transparência possui os seguintes objetivos, relacionados aos pontos de vista de: Nível de Transparência ↓ Grau de desconhecimento sobre as relações no sistema distribuído Profa. Danielle Filgueiras 31
  • 32. Transparência de Localização (de Rede)  Denominação dos dados  Replicaçãodos itens de dados  Fragmentação dos itens de dados  Locação das réplicas ou fragmentos Profa. Danielle Filgueiras 32
  • 33. Processamento de Consultas Distribuídas  Contexto A transparência para leitura é mais fácil de se conseguir e manter do que a transparência para atualização.  O maior problema para a atualização é garantir que todas as réplicas e fragmentos sejam atualizados, após uma atualização em uma das réplicas ou fragmentos. A atualização deve ser prolongada para todas as cópias (réplicas e fragmentos) existentes no sistema. Profa. Danielle Filgueiras 33
  • 34. Processamento de Consultas Distribuídas  As consultas em um BDD devem se preocupar em minimizar o tempo total para a apresentação do resultado alcançado. Profa. Danielle Filgueiras 34
  • 35. Processamento de Consultas Distribuídas  Um dos fatores mais importantes no desempenho de uma consulta, em uma base centralizada, é a quantidade de acesso a disco necessária para atingir o resultado.  Em um banco distribuído os problemas aumentam, pois existe também a preocupação com a transmissão de dados na rede.  Um fator interessante para a consulta realizada em uma base distribuída é que para os diversos sites podem processar partes da consulta em paralelo.  Na realização de uma consulta simples (trivial), como consultar todas as tuplas da relação CONTA, pode caracterizar um processamento não tão trivial, pois CONTA pode estar fragmentada, replicada ou ambas. Profa. Danielle Filgueiras 35
  • 36. Processamento de Consultas Distribuídas  Além disto, a consulta pode precisar de diversas junções e uniões para a reconstrução da relação toda (CONTA).  O processamento de consultas tem como aspecto mais importante a escolha da forma de junção a ser realizada.  Considere a junção CONTA X DEPOSITANTE X AGÊNCIA dos esquemas. Considere também que nenhuma das três relações foi replicada ou fragmentada, mas CONTA esta no Site 1, DEPOSITANTE no Site 2 e AGÊNCIA no Site 3.  A origem da consulta é no Site 1, onde será produzido o resultado da mesma. Profa. Danielle Filgueiras 36
  • 37. Estratégias de Consultas  Enviar cópia das três relações para o Site 1, onde será aplicada a melhor estratégia de consulta local  Enviar cópia de CONTA para o Site 2, e lá obter temp1=(CONTA X DEPOSITANTE); em seguida enviar temp1do Site 2 para o Site 3 obtendo lá o temp2=(temp1 X AGÊNCIA); por fim enviar o resultado (temp2) para o Site 1  Aplicar estratégia similar à anterior, alterando as regras entre os Sites 1, 2 e 3 Profa. Danielle Filgueiras 37
  • 38. Estratégias de Consultas  Na primeira estratégia ainda existe o re-processamento dos índices da relação transportada, configurando um processamento extra.  Na segunda estratégia ocorre a transmissão de uma relação potencialmente maior.  Necessariamente, não existe a melhor estratégia, mas deve-se considerar:  volume de dados a ser transportado  custo de transmissão de um Site para outro  velocidade relativa de processamento em cada Site Profa. Danielle Filgueiras 38
  • 39. Transações  O acesso a diversos itens de dados em um sistema distribuído é normalmente acompanhado de transações que têm de preservar as propriedades ACID. A : Atomicidade  C : Consistência  I : Isolamento  D : Durabilidade Profa. Danielle Filgueiras 39
  • 40. Características ACID  Atomicidade:Todas as operações da transação são refletidas corretamente no BD ou nenhuma será  Consistência: A execução de uma transação isolada preserva a consistência do banco de dados  Isolamento: Cada transação não toma conhecimento de outras transações concorrentes  Durabilidade: Depois da transação completar-se com sucesso, as mudanças que ela faz no banco de dados persistem Profa. Danielle Filgueiras 40
  • 41. Tipos de transações  Locais  mantém acesso e atualizam somente a base de dados local  Globais  mantém acesso e atualizam diversas bases de dados locais Profa. Danielle Filgueiras 41
  • 42. Estruturas de Sistemas  Em cada Site existe o seu próprio gerenciador de transações local, cuja função é garantir as propriedades ACID das transações executadas localmente.  Os diversos gerenciadores cooperam para executar as transações globais.  Com o intuito de compreender melhor como esses gerenciadores podem ser implementados, pode-se definir um modelo abstrato para o sistema de transações.  Nesta definição cada Site possui dois subsistema:  Gerenciador de transações  Coordenador de transações Profa. Danielle Filgueiras 42
  • 43. Estruturas de Sistemas  O gerenciador administra a execução daquelas transações que mantém acesso aos dados locais. Cada uma dessas transações pode ser uma transação local ou parte de uma transação global.  O coordenador coordena a execução de várias transações (locais ou globais) iniciadas naquele Site. Computador 1 Computador n TCn Coordenador TC1 de transação . . . Gerenciador de TMn TM1 transação Profa. Danielle Filgueiras 43
  • 44. Gerenciador de Transações  Manutenção de um log para propósito de recuperação  Participação em um esquema de controle de concorrência adequado para coordenação da execução de transações concorrentes em um mesmo site Profa. Danielle Filgueiras 44
  • 45. Coordenador de Transações  Iniciar a execução da transação  Quebrar uma transação em um número determinado de sub-transações e distribuí- las pelos Sites apropriados para a execução  Coordenar o término das transações, que podem resultar em efetivações em todos os Sites ou em interrupção em todos os Sites. Profa. Danielle Filgueiras 45
  • 46. Falhas  Um sistema distribuído pode sofrer os mesmos tipos de falhas que ocorrem em um sistema centralizado, porém existem falhas adicionais que podem ocorrer em um BDD, tais como: falha em um site, falha na comunicação entre eles, perda de mensagens e o particionamento da rede.  Cada um desses problemas devem ser considerados no projeto de recuperação de um BDD.  Para um sistema ser robusto, ele precisa detectar qualquer uma dessas falhas, reconfigurar-se de modo a manter o processamento e recuperar-se enquanto a falha é recuperada. Profa. Danielle Filgueiras 46
  • 47. Preocupações  Protocolo de efetivação (garantir a atomicidade)  duas fases (obstrução) – 2PC  três fases – 3PC  Controle de concorrência  Algumas alterações no modo de funcionamento e de controle do sistema centralizado podem permitir a funcionalidade deles em um sistema distribuído. Profa. Danielle Filgueiras 47
  • 48. Sistemas de Banco de Dados Múltiplos  Nos últimos anos desenvolveram-se novas aplicações usando diversos BD preexistentes, localizados em ambientes heterogêneos de hardware e software. Para isso, foi necessária uma camada de software adicional em um nível superior ao BD, onde ela tratava as informações localizadas em um BD heterogêneo. Esta camada é chamada de Sistema de Banco de Dados Múltiplo.  Os sistemas de BD locais podem empregar modelos lógicos diferentes e diferentes linguagens de definição e manipulação de dados. Podem também diferir dos seus mecanismos de controle de concorrência e gerenciamento de transações. Profa. Danielle Filgueiras 48
  • 49. Sistemas de Banco de Dados Múltiplos  Um sistema de BD Múltiplo cria a ilusão de integração lógica do BD, sem exigir uma integração física correspondente.  A integração formando um BDD homogêneo é muito difícil, em uma grande maioria dos casos, é impossível principalmente por:  Dificuldades Técnicas – os investimentos nos BD existentes podem ser imensos e o custo da conversão das aplicações pode ser proibitivo  Dificuldades Organizacionais – mesmo para integrações tecnicamente viáveis, pode ocorrer a impossibilidade por motivos políticos, principalmente, quando os sistemas de BD pertencem a diferentes organizações. Profa. Danielle Filgueiras 49
  • 50. Bibliografia  Korth, H. F. e Silberschatz, A. Sistemas de Banco de Dados, São Paulo, McGraw- Hill, 3 edição, Capítulo 18 - 589-634 p., 1999.  Frigeri, S. R., Banco de Dados Distribuídos, Caxias do Sul, Universidade Federal do Rio Grande do Sul - site www.ufrgs.br, 1996. Profa. Danielle Filgueiras 50

Editor's Notes

  1. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  2. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  3. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  4. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  5. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  6. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  7. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  8. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  9. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  10. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  11. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  12. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  13. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  14. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  15. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  16. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  17. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  18. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  19. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  20. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  21. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  22. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  23. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  24. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  25. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  26. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  27. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  28. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  29. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  30. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  31. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  32. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  33. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  34. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  35. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  36. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  37. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  38. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  39. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  40. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  41. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  42. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  43. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  44. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  45. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  46. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  47. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  48. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  49. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli
  50. Banco de Dados III 02/01/2001 Vandor Roberto Vilardi Rissoli