banco de dados banco de dados distribuídos fundamentos sílvia cristina de matos soares...

26
Banco de Dados Banco de Dados Banco de Dados Distribuídos Banco de Dados Distribuídos Fundamentos Fundamentos Sílvia Cristina de Matos Soares Sílvia Cristina de Matos Soares [email protected] [email protected]

Upload: talita-maria-laura-rodrigues-cabreira

Post on 07-Apr-2016

222 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Banco de Dados Banco de Dados Distribuídos Fundamentos Sílvia Cristina de Matos Soares silvia@puc-campinas.edu.br

Banco de Dados Banco de Dados

Banco de Dados DistribuídosBanco de Dados DistribuídosFundamentosFundamentos

Sílvia Cristina de Matos SoaresSílvia Cristina de Matos [email protected]@puc-campinas.edu.br

Page 2: Banco de Dados Banco de Dados Distribuídos Fundamentos Sílvia Cristina de Matos Soares silvia@puc-campinas.edu.br

2

Ambiente de Banco de Dados Centralizado Ambiente de Banco de Dados Centralizado

Page 3: Banco de Dados Banco de Dados Distribuídos Fundamentos Sílvia Cristina de Matos Soares silvia@puc-campinas.edu.br

3

Abstração de Dados Abstração de Dados

Visão 1 Visão 2 Visão n..........Nível de Visão

Nível Lógico

Nível Físico

Nível médio que descreve quais dados estão armazenadose quais os inter-relacionamentos

Nível baixo que descreve como os dados estão

armazenados

Page 4: Banco de Dados Banco de Dados Distribuídos Fundamentos Sílvia Cristina de Matos Soares silvia@puc-campinas.edu.br

4

Banco de Dados Centralizado Banco de Dados Centralizado

Esquema Conceitual

Esquema Interno

Esquema Externo

Esquema Externo

Nível LógicoIndepende da forma de armazenamentoConjunto de estruturasdescrevendo a organizaçãodos dados e as restrições deintegridadeModelo de dados

Nível FísicoComo os dados estão armazenadosMétodos de acessoEstruturas de arquivosSistema de gerência do BD

Nível VisãoVisão p/ cada grupo usuário Facilitar desenvolvimento de aplicaçõesRestringir acesso a dados

Page 5: Banco de Dados Banco de Dados Distribuídos Fundamentos Sílvia Cristina de Matos Soares silvia@puc-campinas.edu.br

5

Ambiente de Banco de Dados Distribuído Ambiente de Banco de Dados Distribuído (BDD) (BDD)

Page 6: Banco de Dados Banco de Dados Distribuídos Fundamentos Sílvia Cristina de Matos Soares silvia@puc-campinas.edu.br

6

O Que é um Sistema de Banco de Dados O Que é um Sistema de Banco de Dados Distribuído (SBDD)Distribuído (SBDD)

Base de Dados Distribuída (BDD)

Coleção de diversas bases de dados, interligadas logicamente por meio de uma rede de computadores

Sistema de Gerência de Bases de Dados Distribuídas (SGBDD)

Sistema de software que possibilita a gerência da BDD e trata da distribuição transparente para o usuário

Sistema de Banco de Dados Distribuído (SBDD)

SBDD = BDD + SGBDD

Page 7: Banco de Dados Banco de Dados Distribuídos Fundamentos Sílvia Cristina de Matos Soares silvia@puc-campinas.edu.br

7

O Que é um Sistema de Banco de Dados O Que é um Sistema de Banco de Dados Distribuído (SBDD)Distribuído (SBDD)

Grupo de elementos autônomos de processamento (não necessariamente homogêneos)

Interconectados por uma rede de computadores

Cooperam na realização de tarefas

Page 8: Banco de Dados Banco de Dados Distribuídos Fundamentos Sílvia Cristina de Matos Soares silvia@puc-campinas.edu.br

8

O Que Está Distribuído?O Que Está Distribuído?

Lógica do processamento

Funções

Dados

Controle

Page 9: Banco de Dados Banco de Dados Distribuídos Fundamentos Sílvia Cristina de Matos Soares silvia@puc-campinas.edu.br

9

Principais Características de um SBDDPrincipais Características de um SBDD

Dados armazenados em diversos locais (nós)

Processadores dos nós interconectados por meio de rde de computadores

A base de dados distribuída não é uma coleção de arquivos

O SGBDD possui toda a funcionalidade de um SGBD

Tecnologia atual: multiprocessadores e cliente/servidor

Page 10: Banco de Dados Banco de Dados Distribuídos Fundamentos Sílvia Cristina de Matos Soares silvia@puc-campinas.edu.br

10

O Que O Que NÃONÃO é um Sistema de Banco de é um Sistema de Banco de Dados Distribuído (SBDD)Dados Distribuído (SBDD)

Page 11: Banco de Dados Banco de Dados Distribuídos Fundamentos Sílvia Cristina de Matos Soares silvia@puc-campinas.edu.br

11

Ambiente de Banco de Dados Distribuído Ambiente de Banco de Dados Distribuído (BDD) (BDD)

Page 12: Banco de Dados Banco de Dados Distribuídos Fundamentos Sílvia Cristina de Matos Soares silvia@puc-campinas.edu.br

12

Banco de Dados DistribuídosBanco de Dados Distribuídos

Esquema InternoLocal

Esquema InternoLocal

Esquema ConceitualLocal

Esquema ConceitualLocal

Esquema ConceitualGlobal

Esquema ExternoGlobal

Esquema ExternoGlobal

Page 13: Banco de Dados Banco de Dados Distribuídos Fundamentos Sílvia Cristina de Matos Soares silvia@puc-campinas.edu.br

13

Banco de Dados LocalBanco de Dados Local

Esquema InternoLocal

Esquema ConceitualLocal

Esquema ExternoGlobal

Esquema ExternoLocal

Page 14: Banco de Dados Banco de Dados Distribuídos Fundamentos Sílvia Cristina de Matos Soares silvia@puc-campinas.edu.br

14

Projeto de Banco de Dados DistribuídosProjeto de Banco de Dados Distribuídos

Esquema InternoLocal

Esquema InternoLocal

Esquema ConceitualLocal

Esquema ConceitualLocal

Esquema ConceitualGlobal

Esquema ExternoGlobal

Esquema ExternoGlobal

Projeto semelhante ao BD Centralizado

Projeto semelhante ao BD Centralizado

Considerar a carga imposta por acessos remotos aos dados locais

Projeto dos esquemas conceituais locais

Page 15: Banco de Dados Banco de Dados Distribuídos Fundamentos Sílvia Cristina de Matos Soares silvia@puc-campinas.edu.br

15

Projeto de Banco de Dados DistribuídosProjeto de Banco de Dados Distribuídos

Projeto dos esquemas conceituais locais

Estratégia de distribuição do banco

Reflete

Particionamento Replicação

Page 16: Banco de Dados Banco de Dados Distribuídos Fundamentos Sílvia Cristina de Matos Soares silvia@puc-campinas.edu.br

16

Estratégia de distribuição do bancoEstratégia de distribuição do banco

Esquema conceitual global FORNECEDORES (NUMERO, NOME, SEDE)PECAS (CODIGO, NOME, COR, PESO)FORNECIMENTO (NUMERO, CODIGO, QUANTIDADE)

Esquema externo global AEsquema de relação: FORN_PECA (NUMERO, CODIGO, NOME)Definição: FORN_PECA = (FORNECIMENTO * PECAS) (NUMERO, CODIGO, NOME)

Esquema externo global BEsquema de relação: FORN_PECA (NUMERO, CODIGO)Definição: FORN_PECA = FORNECIMENTO (NUMERO, CODIGO)

Seja D uma estrutura (lógica) de dados do esquema conceitual global

Page 17: Banco de Dados Banco de Dados Distribuídos Fundamentos Sílvia Cristina de Matos Soares silvia@puc-campinas.edu.br

17

Estratégia de distribuição do bancoEstratégia de distribuição do banco

Esquemas conceituais locaisPrimeiro nó: FORNECEDORES1 (NUMERO, NOME, SEDE) PECAS1 (CODIGO, NOME) FORNECIMENTO1 (NUMERO, CODIGO, QUANTIDADE)

Segundo nó: FORNECEDORES2 (NUMERO, NOME, SEDE) PECAS2 (CODIGO, COR, PESO) FORNECIMENTO2 (NUMERO, CODIGO, QUANTIDADE)

Mapeamentos definindo o critério de distribuiçãoPrimeiro nó: FORNECEDORES1 = FORNECEDORES (SEDE = ‘PASSA TRES’) PECAS1 = PECAS (CODIGO, NOME) FORNECIMENTO1 = FORNECIMENTO * (FORNECEDORES1 (NUMERO))

Segundo nó: FORNECEDORES2 = FORNECEDORES (SEDE ≠ ‘PASSA TRES’) PECAS2 = PECAS (CODIGO, COR, PESO) FORNECIMENTO2 = FORNECIMENTO * (FORNECEDORES2 (NUMERO))

Page 18: Banco de Dados Banco de Dados Distribuídos Fundamentos Sílvia Cristina de Matos Soares silvia@puc-campinas.edu.br

18

Estratégia de distribuição do bancoEstratégia de distribuição do bancoParticionamentoParticionamento

Particionamento Vertical

Seja D uma estrutura (lógica) de dados do esquema conceitual global

D é mapeada em duas ou mais estruturas (lógicas) de dadosque não são idênticas a D e que pertencem a diferentes esquemasconceituais locais

PECAS foi particionada em PECAS1 e PECAS2

Page 19: Banco de Dados Banco de Dados Distribuídos Fundamentos Sílvia Cristina de Matos Soares silvia@puc-campinas.edu.br

19

Estratégia de distribuição do bancoEstratégia de distribuição do banco Particionamento Particionamento

Particionamento Horizontal(ou por ocorrência)

Seja D uma estrutura (lógica) de dados do esquema conceitual global

D é mapeada em estruturas idênticas a D e que pertencem a dois oumais esquemas conceituais locais de tal forma que o mapeamentodefine um particionamento do conjunto de dados associados a D

FORNECEDORES foi particionada em FORNECEDORES1 e FORNECEDORES2

Page 20: Banco de Dados Banco de Dados Distribuídos Fundamentos Sílvia Cristina de Matos Soares silvia@puc-campinas.edu.br

20

Estratégia de distribuição do bancoEstratégia de distribuição do banco Replicação Replicação

Replicação

D é replicada quando D é mapeada em duas ou mais estruturas (lógicas) de dados idênticas a D e que pertencem a diferentes esquemas conceituais locais de tal forma que o mapeamento deD em cada uma destas estruturas é sempre a identidade.

Existirão cópias idênticas do conjunto de dados associado a D armazenadas em dois ou mais nós.

Page 21: Banco de Dados Banco de Dados Distribuídos Fundamentos Sílvia Cristina de Matos Soares silvia@puc-campinas.edu.br

21

Estratégia de distribuição do bancoEstratégia de distribuição do banco Replicação Replicação

Replicação Total

Cada banco de dados local contém uma cópia completa do banco

Replicação Parcial

Cada banco de dados local contém uma cópia de parte do banco

Page 22: Banco de Dados Banco de Dados Distribuídos Fundamentos Sílvia Cristina de Matos Soares silvia@puc-campinas.edu.br

22

Estratégia de distribuição do bancoEstratégia de distribuição do banco Resumo Resumo

% de Exceções Tamanho do Arquivo

Método de distribuição

---- Pequeno Replicação

Pequena Grande Particionamento

Alta Grande Centralizado

Page 23: Banco de Dados Banco de Dados Distribuídos Fundamentos Sílvia Cristina de Matos Soares silvia@puc-campinas.edu.br

23

12 Regras para SGBDD12 Regras para SGBDD1. Autonomia local: Cada nó participante de um sistemadistribuí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 debanco 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émpoderia ficar sobrecarregado resultando em perda dedesempenho do sistema

3. Operação contínua: Um sistema de banco de dadosdistribuído nunca deve precisar ser desativado. Asoperações de backup e recuperação devem ser suportadason-line. Essas operações devem ainda ser rápidas obastante para não afetarem o funcionamento do sistema

Page 24: Banco de Dados Banco de Dados Distribuídos Fundamentos Sílvia Cristina de Matos Soares silvia@puc-campinas.edu.br

24

12 Regras para SGBDD12 Regras para SGBDD

4. Transparência/independência de localização: Osusuários do sistema não devem precisar saber o local ondeestão localizados os dados; devem se comportar como se osdados estivessem armazenados localmente.

5. Independência de fragmentação: As tabelas que fazemparte de um sistema de banco de dados distribuído podemestar divididas em fragmentos, localizados fisicamente emdiferentes nós, de forma transparente para o usuário.

6. Independência de replicação: Dados podem estarreplicados em vários nós da rede, de forma transparente. Asréplicas de dados devem ser mantidas sincronizadasautomaticamente pelo SGBDD

Page 25: Banco de Dados Banco de Dados Distribuídos Fundamentos Sílvia Cristina de Matos Soares silvia@puc-campinas.edu.br

25

12 Regras para SGBDD12 Regras para SGBDD

7. Processamento de consultas distribuído: O desempenhode uma consulta deve ser independente do local onde amesma é submetida. Um SGBDD deve possuir um otimizadorcapaz de selecionar não apenas o melhor caminho para oacesso a um determinado nó da rede, mas também otimizaro desempenho de uma consulta distribuída, levando em contaa localização dos dados, utilização de CPU, I/O e o tráfego narede.8. Gerenciamento de transações distribuídas: Um SGBDDdeve 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ãoapenas para transações locais, mas para transaçõesdistribuídas também.9. Independência de hardware: Um SGBDD deve poderoperar e acessar dados em uma variedade de plataformas dehardware.

Page 26: Banco de Dados Banco de Dados Distribuídos Fundamentos Sílvia Cristina de Matos Soares silvia@puc-campinas.edu.br

26

12 Regras para SGBDD12 Regras para SGBDD

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

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

12.Independência de SGBD: Um SGBDD ideal deve possuircapacidades para se comunicar com outros sistemas degerenciamento de banco de dados executando em nósdiferentes, mesmo se estes sistemas de bancos de dados sãodiferentes (heterogêneos). Todos estes sistemas devem usarAPIs