Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Regras para Sistemas de Gerenciamento de Bancos de Dados Distribuídos (SGBDD), Notas de estudo de Arquitetura

As 12 regras propostas por c.j. Date e e.f. Codd para um sistema de gerenciamento de bancos de dados distribuídos (sgbdd). As regras abordam autonomia local, independência de um nó central, transparência/independência de localização, independência de fragmentação, independência de replicação, processamento de consultas distribuídas, gerenciamento de transações distribuídas, independência de hardware, independência de sistema operacional, independência de rede e independência de sgbd.

Tipologia: Notas de estudo

2022

Compartilhado em 07/11/2022

Neilson89
Neilson89 🇧🇷

4.4

(70)

224 documentos

1 / 5

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
11
1
Banco de Dados Distribuídos
Prof. Renato Fileto
INE/CTC/UFSC
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.
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.
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.
Esquema de um SBBD Arquitetura de um SBBD
DDBMS
Schema 1
Distributed
Database
Schema N
. . .
Client 1 Client 2 Client M
. . .
Schema 2
DDBMS
Distributed
Database
DDBMS
Distributed
Database
. . .
A imagem não pode ser exibida. Talvez o computador n ão tenha memória suficiente para abrir a imagem ou talvez ela esteja corrompida. Reinicie o co mputador e abra o arquivo novamente. Se ainda assim aparecer o x vermelho, po derá ser necessário excluir a imagem e inseri-la nov amente.
Unified Schema
A imagem não pode ser exibida. Talvez o computador n ão tenha memória suficiente para abrir a imagem ou talvez ela esteja corrompida. Reinicie o co mputador e abra o arquivo novamente. Se ainda assim aparecer o x vermelho, po derá ser necessário excluir a imagem e inseri-la nov amente.
pf3
pf4
pf5

Pré-visualização parcial do texto

Baixe Regras para Sistemas de Gerenciamento de Bancos de Dados Distribuídos (SGBDD) e outras Notas de estudo em PDF para Arquitetura, somente na Docsity!

1

Banco de Dados Distribuídos

Prof. Renato Fileto

INE/CTC/UFSC

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.

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.

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.

Esquema de um SBBD Arquitetura de um SBBD

DDBMS

Schema 1

Distributed Database

...^ Schema N

Client 1 Client 2 (^)... Client M

Schema 2

DDBMS

Distributed Database

DDBMS

Distributed Database

...

A imagem não pode ser exibida. Talv ez o computador não tenha memória suficiente para abrir a imagem ou talv ez ela esteja corrompida. Reinicie o computador e abra o arquiv o nov amente. Se ainda assim aparecer o x v ermelho, poderá ser necessário excluir a imagem e inseri-la nov amente. Unified Schema

A imagem não pode ser exibida. Talv ez o computador não tenha memória suficiente para abrir a imagem ou talv ez ela esteja corrompida. Reinicie o computador e abra o arquiv o nov amente. Se ainda assim aparecer o x v ermelho, poderá ser necessário excluir a imagem e inseri-la nov amente.

Tipos de Sistemas de SBDD

 Homogêneo : Todos os nós rodando o mesmo SGBD.

 Heterogêneo : Diferentes nós rodando diferentes SGBDs

(relacionais ou mesmo não relacionais).

DBMS 1 DBMS 2 DBMS 3

Gateway 1 Gateway 2 Gateway 3

Sistema de Gerenciamento de BD

Distribuído (SGBDD)

 Em 1987, C. J. Date, um dos primeiros

projetistas de bancos de dados relacionais,

junto com o Dr. E. F. Codd, autor da teoria

relacional, propôs 12 regras que um SGBDD

completo deveria seguir.

As 12 Regras para SGBDD

  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, pois isso acarretaria um único ponto de falha, afetando todos os outros nós. Um nó central também poderia ficar sobrecarregado resultando em perda de desempenho do sistema.
  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. Essas operações devem ainda ser rápidas o bastante para não afetarem o funcionamento do sistema (backup incremental, por exemplo).

As 12 Regras para SGBDD (cont.)

  1. 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.
  • A transparência de localização pode ser alcançada pela utilização de sinônimos estendidos e pelo extenso uso do dicionário de dados.
  • A transparência de localização permite que aplicações sejam portadas de um nó da rede para outro sem a necessidade de modificações.
  1. 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.
  2. Independência de replicação: Dados podem estar replicados em vários nós da rede, de forma transparente. As réplicas de dados devem ser mantidas sincronizadas automaticamente pelo SGBDD

As 12 Regras para SGBDD (cont.)

  1. Processamento de consultas distribuído: O desempenho de uma consulta deve ser independente do local onde a mesma é submetida. Um SGBDD deve possuir um otimizador capaz de selecionar não apenas o melhor caminho para o acesso a um determinado nó da rede, mas também otimizar o desempenho de uma consulta distribuída, levando em conta a localização dos dados, utilização de CPU, I/O e o tráfego na rede.
  2. Gerenciamento de transações distribuídas: Um SGBDD deve suportar transações atômicas. 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.
  3. Independência de hardware: Um SGBDD deve poder operar e acessar dados em uma variedade de plataformas de hardware. Um SGBDD verdadeiro não deve depender de uma determinada

As 12 Regras para SGBDD (cont.)

10.Independência de sistema operacional: Um SGBDD deve poder executar em sistemas operacionais diferentes. Assim como na regra anterior, um SGBDD não deve depender de um sistema operacional em especial.

11.Independência de rede: Um SGBDD deve ser projetado para executar independentemente do protocolo de comunicação e da topologia de rede usada para interligar os vários nós que fazem parte da rede.

12.Independência de SGBD: Um SGBDD ideal deve possuir capacidades para se comunicar com outros sistemas de gerenciamento de banco de dados executando em nós diferentes, mesmo se estes sistemas de bancos de dados são diferentes (heterogêneos). Todos estes sistemas devem usar APIs

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.

Replicação de dados

 Réplicas dos dados em diferentes nós

 Aumento do paralelismo

 Aumento da disponibilidade de dados

 Elevação do overhead de atualização

 Melhora desempenho das operações de

leitura, enquanto acarreta maior overhead nas

atualizações

Exemplo de Fragmentação Atualização dos dados replicados

 Replicação síncrona : Todas as cópias de uma relação modificada (fragmentos) deve ser atualizadas antes da

transação modificante fazer commit

  • A distribuição de dados fica transparente para o usuário

 Replicação Assíncrona : As cópias da relação

modificada só são atualizadas periodicamente; réplicas podem ficar inconsistentes por algum tempo

  • Os usuários devem estar cientes da distribuição e replicação
  • Produtos atuais seguem esta abordagem

Processamento de consultas em

SGBDD

Deve levar em conta:

 Réplicas dos dados

 Reconstrução de relações a partir de

fragmentos

 Tempo de recuperação

 Tempo de processamento

 Transmissão de dados via rede

Consultas Distribuídas

 Replicação:Replicação:Replicação:Replicação: cópias em vários nós

  • Escolha baseada em custos locais e de transmissão

 Fragmentação horizontal:Fragmentação horizontal:Fragmentação horizontal:Fragmentação horizontal: Modelos com idade < 25 no Rio

e idade >= 25 em SP

  • Pode-se computar AVG(salary)AVG(salary)AVG(salary)AVG(salary) em ambos o nós
  • Como calcular a média geral dos salários
  • Pode-se trazer ambas os dados de ambas as relações

 Fragmentção verticalFragmentção verticalFragmentção verticalFragmentção vertical: mid e age em SP, mid, name and

sal no Rio

  • Pode-se reconstruir a relação de modelo através de

junção no atributo m id, e então processar a consulta

SELECT AVG(sal) FROM TopModels M WHERE M.age > 20 AND M.age < 35

Controle de Transações em SGBDD

(garantindo a Atomicidade)

Protocolo two-phase commit

1. Preparação:

a) Um dos participantes é designado coordenador do two- phase commit e envia a cada nó envolvido na transação uma solicitação para se preparar para fazer commit. b) Uma vez preparado, cada participante escreve uma marca no seu log , avisa o coordenador e não pode mais abortar.

2. Commit :

a) Se todos os participantes estão prontos, o coordenador envia um sinal de commit para cada participante, que o executa. b) Se algum dos participantes falhar na preparação para o commit , este notifica o coordenador, que envia um sinal de rollback para todos os participantes.

Controle de Transações em SGBDD

(garantindo a Consistência)

Escalonamentos seriais: entrelaçamento da

execução de operações de diferentes transações,

com resultado idêntico ao da execução serial das

transações

 Exclusão mútua por bloqueio ( lock )

 Troca de mensagens para solicitar bloqueios locais  Deadlock é mais difícil detectar em um SGBDD

 Métodos otimistas

 Livre execução das operações  Monitoramento de conflitos (via grafos/árvores de execução e/ou relógios lógicos)  Em caso de conflito, a transação mais nova pode ser desfeita, para depois ser realizada novamente

Cópia primária / secundária para

locks distribuídos

 Cópia Primária é a que coordena a atribuição de

locks ao item replicado no sistema distribuído

 Cópia Secundária atualizada de maneira síncrona

com a cópia primária para assumir em caso de

falha da primeira

 Método do Site Primário / coordenador único:

todas as cópias primárias em um mesmo site

 Método da Cópia Primária / coordenadores

múltiplos: cópias primárias em sites distintos

 Eleição para definição de novo coordenador em

caso de falha

Sincronização de Operações de

requisição de locks em SGBDD

 Cópia primária / secundária

 Permite tratar dados replicados como não replicados

 Coordenador único

 Simples, mas com um ponto de falha e gargalo

 Protocolo desviado

 Bloqueio partilhado – leitura (somente local)  Bloqueio exclusivo – escrita (todas as réplicas)

 Protocolo de eleições

 Gerenciamento local e trocas de requisições

 Marcador de tempo (cada transação recebe um

marcador)  Centralizado (relógio local ou contador)  Distribuído (relógios lógicos)

Tratamento de deadlocks

em SGBDD

 Detecção de ciclos centralizada: Os grafos

locais são enviados para um nó central para

concatenação e detecção de ciclos

 Detecção de ciclos hierárquica: Organização dos

nós em uma hierarquia, com envio do grafo de

espera de cada nó para o nó pai

 Timeout : Abortar uma transação quando esta

estiver esperando por muito tempo, para

recomeça-la logo depois

Grafos de espera

T1 T2 T1 T

Site A Site B

T1 T

Global