Bancos de Dados III Bancos de Dados Distribuídos Especificação e Projeto Parte 1 Rogério Costa rogcosta@inf.puc-rio.br 1 Arquitetura em 3 Camadas Três níveis de esquemas: conceitual, interno e externo E squema E squema C onceitual Modelo de dados proposto pelo comitê SGBD ANSI/SPARC 2 1
Descrição de BD Centralizados conceitual deve apresentar uma visão de alto nível do banco, independente da forma de armazenamento refletindo apenas a semântica do empreendimento que está sendo modelado. 3 Descrição de BD Centralizados interno obtém-se uma representação eficiente do esquema conceitual em termos dos métodos de acesso e estruturas de arquivos oferecidas pelo sistema de gerência de banco de dados. Independência física de dados: espera-se de um bom sistema de gerência de banco de dados que permita mudar o esquema interno do banco sem alterar os programas de aplicação. 4 2
Descrição de BD Centralizados externo visão especializada do banco para cada grupo de usuários, no ponto de vista lógico 5 Arquitetura em três camadas Aplicação 1 Aplicação 2 Aplicação 3 para Usuários para Usuários para Usuários Tabelas e Relacionamentos Implementação física 6 3
Exemplos: s : Implementado por Views CREATE VIEW V1(CV1,CV2) AS SELECT C1, C2 FROM T1 : Implementado por Tabelas CREATE TABLE T1 (COL1 CHAR[10] NOT NULL, COL2 DECIMAL NOT NULL); : Implementado Internamente Arquivos... struct TABLE T1 { CHAR col1[10]; FLOAT col2;} 7 Descrição do BDD 8 4
Descrição do BDD Existe um descrevendo o BDD a nível lógico e ignorando o fato deste ser distribuído 9 Descrição do BDD Existe vários esquemas externos globais descrevendo visões do BDD para grupos de usuários. 10 5
Descrição do BDD Idêntico para bancos de dados centralizados e distribuídos. 11 Descrição do BDD Existe esquema conceitual local descrevendo o banco de dados local. O mapeamento do esquema conceitual global para os vários esquemas conceituais locais define, então, o critério de distribuição usado. 12 6
Descrição do BDD A estratégia de armazenamento de cada banco de dados local é definida mapeando-se o esquema conceitual local que o define em um esquema interno local. 13 global é construído num site central. Os dados permanecem fisicamente armazenados nos sites remotos, mas o usuário tem uma visão única do universo de dados através de visões construídas sobre o esquema conceitual global. site central site remoto 2 esquema global site remoto 1 esquema local esquema local 14 7
Descrição do BDD Como os sistemas locais devem manter sua autonomia, faz sentido ter esquemas externos locais em cada nó descrevendo visões do banco de dados local para cada grupo de usuários locais. 15 s Locais e Globais SITE 1 SITE 2 GLOBAL SITE 2 SITE 3 GCS LCS LOCAL LCS LOCAL LCS LOCAL Dados Físicos Dados Físicos Dados Físicos 16 8
Catálogo O site central precisa conter, de fato, dois conjuntos de informações conhecidos como CATALOGO GLOBAL: o esquema global: visões, tabelas, colunas globais o esquema de distribuição fragmentos de tabelas: como as tabelas estão distribuídas pelos sites através de fragmentação horizontal. fragmentos de colunas (para cada site): como as tabelas estão distribuídas pelos sites através de fragmetnação vertical. 17 Descrição do BDD Homogêneo e Heterogêneo BDD homogêneo todos os esquemas a nível lógico utilizarão o mesmo modelo de dados. 18 9
e Consultas ao Catálogo globais executadas através de comandos SQL distribuídos, que trazem a especificação da fragmentação. O formato geral: SITE.TABELA.COLUNA Exemplo: CREATE VIEW GV1 AS SELECT SITE1.T1.C1, SITE1.T1.C2, SITE2.T1.C4 FROM SITE1.T1, SITE2.T1 WHERE SITE1.T1.C1 = SITE2.T1.C1 AND SITE2.T1.C4 > 1000 A construção dos esquema conceitual global simplifica as consultas: TABELA GLOBAL: GT1 SITE1.T1.C1 SITE1.T1.C2 SITE1.T1.C3 SITE2.T1.C4 O novo comando: ALIAS: GC1 ALIAS: GC2 ALIAS: GC3 ALIAS: GC4 SELECT GC1, CG2, CG4 FROM GT1 WHERE GC1 = GC4 AND GC4 > 1000 19 Descrição do BDD Homogêneo e Heterogêneo BDD heterogêneos esquema conceitual global esquemas externos globais esquemas conceituais locais esquemas externos locais no modelo de dados pivot podem ser tanto no modelo de dados pivot, para usuários globais, ou em um modelo de dados local, no caso de se desejar oferecer a um usuário local uma visão do BDD no modelo que ele está acostumado no modelo de dados local; no modelo de dados local. 20 10
Projeto de BDD O projeto do esquema conceitual global e o dos esquemas externos globais é inteiramente semelhante ao caso centralizado. já que o BDD deverá se comportar como centralizado perante os usuários globais. 21 Projeto de BDD O projeto dos esquemas internos locais é idêntico ao de bancos centralizados exceto que a carga imposta por acessos remotos aos dados locais também deve ser levada em consideração. 22 11
Projeto de BDD O problema básico de projeto de BDD reside no projeto dos esquemas conceituais locais, pois estes refletem a estratégia de distribuição do banco. 23 12