View
222
Download
4
Embed Size (px)
Citation preview
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
2
Ambiente de Banco de Dados Centralizado Ambiente de Banco de Dados Centralizado
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
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
5
Ambiente de Banco de Dados Distribuído Ambiente de Banco de Dados Distribuído (BDD) (BDD)
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
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
8
O Que Está Distribuído?O Que Está Distribuído?
Lógica do processamento
Funções
Dados
Controle
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
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)
11
Ambiente de Banco de Dados Distribuído Ambiente de Banco de Dados Distribuído (BDD) (BDD)
12
Banco de Dados DistribuídosBanco de Dados Distribuídos
Esquema InternoLocal
Esquema InternoLocal
Esquema ConceitualLocal
Esquema ConceitualLocal
Esquema ConceitualGlobal
Esquema ExternoGlobal
Esquema ExternoGlobal
13
Banco de Dados LocalBanco de Dados Local
Esquema InternoLocal
Esquema ConceitualLocal
Esquema ExternoGlobal
Esquema ExternoLocal
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
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
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
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))
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
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
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.
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
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
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
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
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.
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