Arquiteturas de SGBDs Distribuídos e Heterogêneos

50
Top. Esp em Banco de Dados Profa. Marta Mattoso [email protected] http://www.cos.ufrj.br/~marta COPPE- Sistemas / UFRJ Arquiteturas em Banco de Dados

Transcript of Arquiteturas de SGBDs Distribuídos e Heterogêneos

Page 1: Arquiteturas de SGBDs Distribuídos e Heterogêneos

Top. Esp em Banco de Dados

Profa. Marta [email protected]

http://www.cos.ufrj.br/~marta

COPPE- Sistemas / UFRJ

Arquiteturas em Banco de Dados

Page 2: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 2

Roteiro

Introdução a arquiteturas de SGBDSGBD (ANSI/SPARC)SGBD DistribuídoCliente / ServidorSistemas HeterogêneosBibliografia

Page 3: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 3

Arquitetura

Define a estrutura do sistemaIdentificação dos componentes

Definição das funções de cada componente

Definição de relacionamentos e interações entre os componentes

Page 4: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 4

PadronizaçãoModelo de Referência

Uma referência conceitual cujo propósito é dividir o trabalho de padronização em partes gerenciáveis e mostrar num nível mais alto como essas partes se relacionam entre si.

Page 5: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 5

PadronizaçãoAbordagens

Baseada em componentes• Os componentes do sistema são definidos junto com

as relações entre os componentes. • Bom para projeto e implementação de sistemas.

Baseada em funções• Classes de usuários são identificados junto com a

funcionalidade que o sistema fornecerá a cada classe.• Os objetivos são identificados. Mas como alcançar ?

Baseada em dados• Identifica as diferentes formas de descrever dados e

especifica as unidades funcionais que irão definir e usar os dados de acordo com as formas.

Page 6: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 6

Arquitetura ANSI/SPARC (dados)

Usuários

Esquema Externo

Esquema Conceitual

Esquema Interno

visãoExterna

visãoExterna

visãoExterna

visãoConceitual

visãoInterna

Page 7: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 7

Roteiro✔ Introdução a arquiteturas de SGBD

Arquitetura baseada em dadosSGBD (ANSI/SPARC)

nível Externonível Conceitualnível Interno

SGBD DistribuídoCliente / ServidorSistemas Heterogêneos

Page 8: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 8

Arquitetura ANSI/SPARC (dados)

Usuários

Esquema Externo

Esquema Conceitual

Esquema Interno

visãoExterna

visãoExterna

visãoExterna

visãoConceitual

visãoInterna

Page 9: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 9

Definição do esquema conceitualRELATION CIA_AEREA [

KEY = {NOME}ATTRIBUTES = {

NOME: CHAR (20) FATURAM: NUMERIC (6) PRESID: CHAR (20)SEDE: CHAR (50)

}]RELATION PASSAGEIROS [

KEY = {NOME}ATTRIBUTES = {

NOME: CHAR (40) TELEFONE: CHAR (12)

}]

Page 10: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 10

Definição do esquema conceitualRELATION VOOS [

KEY = {VOO}ATTRIBUTES = {

VOO: CHAR (5)TARIFA: NUMERIC (8) ASS: NUMERIC (6)CIA: CHAR (20)

}]RELATION RESERVAS [

KEY = {VOO, PASSAGEIRO}ATTRIBUTES = {

VOO: CHAR (5) PASSAGEIRO: CHAR (40)

}]

Page 11: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 11

Definição do esquema internoRELATION VOOS [

KEY = {VOO}ATTRIBUTES = {

VOO: CHAR (5)TARIFA: NUMERIC (8) ASS: NUMERIC (6)CIA: CHAR (20)

}]INTERNAL_REL VOOS [

INDEX ON V# CALL VOINXFIELD = {

HEADER: BYTE (1) V#: BYTE (5) TARIFA: NUMERIC (8) ASS: NUMERIC (6)CIA: CHAR (20)

}]

Page 12: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 12

Definição de visão externaExemplo 1

Criação da visão TARIFA a partir de VOOS

CREATE VIEW TARIFA (VOO, VALOR)AS SELECT VOO, TARIFA

FROM VOO

Page 13: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 13

Definição de visão externaExemplo 2

Criação da visão Contato a partir de Passageiros e Reservas

CREATE VIEW CONTATO (VOO, NOME, TELEFONE)AS SELECT VOO, NOME, TELEFONE

FROM RESERVAS, PASSAGEIROSWHERE PASSAGEIRO = NOME

Page 14: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 14

Esquema conceitual – ex. livroRELATION EMP [

KEY = {ENO}ATTRIBUTES = {

ENO : CHARACTER(9)ENOME : CHARACTER(15)CARGO : CHARACTER(10)

}]

RELATION PAY [KEY = {TITLE}ATTRIBUTES = {

CARGO : CHARACTER(10)SAL : NUMERIC(6)

}]

Page 15: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 15

Esquema conceitual – ex. livroRELATION PROJ [

KEY = {PNO}ATTRIBUTES = {

PNO : CHARACTER(7)PNAME : CHARACTER(20)BUDGET : NUMERIC(7)

}]RELATION ASG [

KEY = {ENO,PNO}ATTRIBUTES = {

ENO : CHARACTER(9)PNO : CHARACTER(7)RESP : CHARACTER(10)DUR : NUMERIC(3)

}]

Page 16: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 16

Roteiro✔ Introdução a arquiteturas de SGBD

✔ Arquitetura baseada em dados✔ SGBD (ANSI/SPARC)

SGBD DistribuídoCliente / ServidorSistemas Heterogêneos

Page 17: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 17

Arquitetura de SGBD Distribuído

esquemaExterno1

esquemaExterno2

esquemaExternon

esquemaConceitual Global

...

esquemaConceitual Local2

esquemaConceitual Local1

... esquemaConceitual Localm

esquemaInterno Local1

esquemaInterno Local2

esquemaInterno Localm

...

Page 18: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 18

Roteiro✔ Introdução a arquiteturas de SGBD✔ Arquitetura baseada em dados

✔ SGBD (ANSI/SPARC)✔ SGBD DistribuídoArquitetura baseada em componentes

SGBD DistribuídoCliente / Servidor

Sistemas Heterogêneos

Page 19: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 19

Arquit. Componentes do SGBDDInterface Usuário

Controlador Semântica

Otimizador Cons. Global

Monitor de Execução Global

Processo apoio execução

Base de Dados

Processadordo Usuário

Processadorde Dados Gerente Reconstr. Local

EsquemaExterno

EsquemaConceit. Global

Catálogo G

Otimizador Cons. LocalEsquemaConceit. Local

EsquemaInterno Local

Log

Page 20: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 20

Roteiro✔ Introdução a arquiteturas de SGBD✔ SGBD (ANSI/SPARC)✔ SGBD Distribuído

Cliente / ServidorMuitos Clientes / Um ServidorMuitos Clientes / Muitos ServidoresTrês camadas (servidor de aplicação)

Sistemas Heterogêneos

Page 21: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 21

Acesso Compartilhado ao SGBD Centralizado• Sem armaz.

de dados

• Hospedeiro Roda todo o software

Rede

Terminais ouPC emulando

ComunicaçãoSw Aplicação

Serviços SGBD

Base de dados

Pedidosbatch Respostas

Page 22: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 22

Distribuição de tarefas [Valduriez99]

Application

Application tool

Connectivity tool

Network prototcol

DBMS

Database

Client

NetworkCommands (SQL+Exec)

Result Table

ServerStored

procedures

Network prototcol

Connectivity tool

Page 23: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 23

Distribuição de Tarefas

Base de dados

ConsultaSQL

Tabelaresultado

ComunicaçãoInterface Cons. ... Interface Prog.

Gerente de Comunicação

Aplicação

Gerente de ComunicaçãoOtimizador de Consulta

Gerente de BloqueioGerente de ArmazenamentoGerente de Págs. e Cache

Page 24: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 24

Muitos Clientes / Um Servidor

RedeLocal

Serviços SGBD

Base de dados

Pedidosalto nível

Dados jáfiltrados

ComunicaçãoServiços Cliente

Comunicação

Aplicação

ComunicaçãoServiços Cliente

Comunicação

Aplicação

ComunicaçãoServiços Cliente

Comunicação

Aplicação

Comunicação

Page 25: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 25

Vantagens Arquit. Cliente/ServidorDivisão de trabalho mais adequadaEscalonamento de recursos horizontal e verticalMáquinas cliente com bom preço/desemp.Pode-se usar ferramentas conhecidas (cliente)Cliente acessa dados remotos (via padrões)Todos serviços do SGBD disponíveis p/ clienteMelhor preço/desemp. do sistema global

Page 26: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 26

Problemas com Muitos-Clientes/Um Servidor

O servidor é um ponto de estrangulamentoO servidor é um ponto de falha único (não há alternativas)O crescimento da base de dados é difícil

Page 27: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 27

Roteiro✔ Introdução a arquiteturas de SGBD✔ SGBD (ANSI/SPARC)✔ SGBD Distribuído

Cliente / Servidor✔ Muitos Clientes / Um Servidor

Muitos Clientes / Muitos ServidoresTrês camadas (servidor de aplicação)

Sistemas Heterogêneos

Page 28: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 28

Muitos Clientes/ Muitos Servidoresdiretóriocachingdecomp. consultacommit

RedeLocal

Serviços SGBD

Base de dados

ComunicaçãoServiços Cliente

Comunicação

Aplicação

Comunicação

Serviços SGBD

Base de dados

Comunicação

Page 29: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 29

Servidor para ServidorInterface SQLInterface Program.Outros ambientes de apoio a aplicação

RedeLocal

Serviços SGBD

Base de dados

ComunicaçãoServiços Cliente

Comunicação

Aplicação

Comunicação

Serviços SGBD

Base de dados

Comunicação

Page 30: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 30

Limitações de Cliente/ Servidor

Operar é difícilnecessita de vários especialistas: SGBD, redeferramentas heterogêneasdificuldade de evolução

• aplicação muda => propaga em todos os clientes• cria nova base => replica storage procedures

Custo de manutenção é alto

Page 31: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 31

Roteiro✔ Introdução a arquiteturas de SGBD✔ SGBD (ANSI/SPARC)✔ SGBD Distribuído

Cliente / Servidor✔ Muitos Clientes / Um Servidor✔ Muitos Clientes / Muitos Servidores

Três camadas (servidor de aplicação)Sistemas Heterogêneos

Page 32: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 32

Cliente/Servidor 3 camadas [Valduriez99]

DataApplication

Database server

Applicationserver

PC

NC

Cliente

Page 33: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 33

Vantagens - três camadas (3-tier)

Cliente Universalpadrão, browser multimidiaappletsportabilidade

Servidor de aplicaçãofacilita manutenção e desenvolvimentofacilita acesso a múltiplos servidores de BD

Naturalmente estende p/ n camadas

Page 34: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 34

Acesso ao SGBD por Web Browser4 camadas [Valduriez99]

Netscape

Internet Explorer

Spy Mosaic

Webserver

Service

DBMS

Service

ORB

Applications DatabaseBrowser

HTTP

RDACGI

Page 35: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 35

Acesso ao SGBD por Web Browser

Web browser se comunica com servidor Web usando HTTPAtravés do CGI (Common GatewayInterface) é possível invocar um programa executável (acesso SQL)Quando o SGBD executa a consulta o servidor da aplicação transforma as tuplasdo resultado em páginas HTML

Page 36: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 36

Servidor de AplicaçãoSimples = servidor web

aplicações pequenas, sem transaçõesServidor Empresarial

aplicações grandes e distribuídastransações

• apoio a padrões: CORBAcomponentes

• apoio a padrões: CORBA, COM, EJBferramentas de desenvolvimento

Page 37: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 37

Roteiro✔ Introdução a arquiteturas de SGBD✔ SGBD (ANSI/SPARC)✔ SGBD Distribuído✔ Cliente / Servidor

Sistemas Heterogêneos

Page 38: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 38

Integração de Sistemas Heterogêneos (sistemas legados)

Ponto único de acesso a fontes de informações distribuídas e heterogêneas

Visão homogênea sobre dados heterogêneos

Acesso eficiente a dados relevantes

Acesso uniforme via Internet - Intranet

Page 39: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 39

Arquiteturas de integração

Serviço de Consultas Dicionário dados global

Acoplam. fraco Integrado

Federado

M2

M1

Um módulo global de integração

Um mediador por domínio

Um módulo de acesso por aplicação

Page 40: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 40

Uso de mediadores com integração de domínios

Ap l icação

M

MM

AA

AA

AA

AAAA

M AA

AA

Dados legados• IMS• IDS• DB2• Oracle

Lotus Notes Databases

HTTP Server

Arquivos

Altavista

Desenvolv. IncrementalOrganizaçãoFlexibilidade

Page 41: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 41

Funções do Adaptador

Adaptador

Pedido

Object

Publicat. date

Closing date

Department

Lots

Standards

Contents

..............

..............

..............

..............

..............

..............

Pedido

Extração e restruturação de dados

Page 42: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 42

Exemplo- integração de informações

join

union

dep

dep

dep

dep

Pedidos

Visão estruturadahomogênea

Pedidos & Empresas

no mesmo departamento

Pedidos

Empresas

Pedidos

dep

Page 43: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 43

Exemplo- integração de informações

select *from Publication pub, Person perswhere pub.author = pers.name

Plano de execução:

ssselect

author=X

Person(name, picture), Publication(author, ...)

Publication

Person

Join

select

submit

scan Publication

Wrapper2submit

Wrapper1

scan Person

Page 44: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 44

Produtos de Integração de Info.Ferramentas Multidatabase com interfaces Web

DataJoiner (IBM)Oracle/StarEDA/SQL (Information Builders)Open Database Exchange (B2Systems)

Ferramentas recuperação info. p/ documentos WebHarvest (U. Colorado)Strudel (ATT)AltaVista (Digital)

Mediadores na integração BD e documentosMediation products (Dyade - Bull and Inria)Tsimmis (Stanford U.)

Page 45: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 45

Alternativas: Implementação SGBDD

Page 46: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 46

Dimensões do ProblemaDistribuição

Se os componentes do sistema estão localizados na mesma máquina ou não

HeterogeneidadeVarios níveis (hardware, comunicação, sistema operacional)SGBD importantes:

• modelo de dados, linguagem de consultas, gerência de transações, algoritmos

AutonomiaNão é bem compreendida

• Projeto, Comunicação e Execução

Page 47: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 47

Arquitetura de SGBD-D (dados)

esquemaExterno1

esquemaExterno2

esquemaExternon

esquemaConceitual Global

...

esquemaConceitual Local2

esquemaConceitual Local1

... esquemaConceitual Localm

esquemaInterno Local1

esquemaInterno Local2

esquemaInterno Localm

...

Page 48: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 48

Arquitetura de Multi-SGBD (dados)

Page 49: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 49

Arquitetura de Multi-SGBD (comp.)

Page 50: Arquiteturas de SGBDs Distribuídos e Heterogêneos

© 1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso 50

BibliografiaIntrodução a arquiteturas de SGBDSGBD (ANSI/SPARC)SGBD Distribuído

Ozsu,M., Valduriez,P., Principles of Distributed Database Systems, Cap 4, Prentice-Hall, 1999.

Cliente / ServidorOzsu,M., Valduriez,P., Principles of Distributed Database Systems, Cap 4, 16 Prentice-Hall, 1999.Valduriez, P. Application Servers, Apresentação PUC, 1999.Oracle Application Server 4.0 Overview, White paper,1998.

Sistemas HeterogêneosOzsu,M., Valduriez,P., Principles of Distributed Database Systems, Cap 4, 16 Prentice-Hall, 1999.