banco de dados - cos.ufrj.brcos.ufrj.br/~marta/arqheterog.pdf · database client network commands...

20
1 Banco de Dados Profa. Marta Mattoso [email protected] http://ww.cos.ufrj.br/~marta COPPE- Sistemas / UFRJ Arquiteturas em Banco de Dados 2 Roteiro Introdução a arquiteturas de SGBD SGBD (ANSI/SPARC) SGBD Distribuído Cliente / Servidor Sistemas Heterogêneos Bibliografia

Upload: phamthu

Post on 25-Nov-2018

252 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Banco de Dados - cos.ufrj.brcos.ufrj.br/~marta/ArqHeterog.pdf · Database Client Network Commands (SQL+Exec) Result Table Server Stored procedures Network prototcol Connectivity tool

1

Banco de Dados

Profa. Marta [email protected]

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

COPPE- Sistemas / UFRJ

Arquiteturas em Banco de Dados

2

Roteiro

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

Page 2: Banco de Dados - cos.ufrj.brcos.ufrj.br/~marta/ArqHeterog.pdf · Database Client Network Commands (SQL+Exec) Result Table Server Stored procedures Network prototcol Connectivity tool

2

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

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 3: Banco de Dados - cos.ufrj.brcos.ufrj.br/~marta/ArqHeterog.pdf · Database Client Network Commands (SQL+Exec) Result Table Server Stored procedures Network prototcol Connectivity tool

3

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.

6

Arquitetura ANSI/SPARC

Usuários

Esquema Externo

Esquema Conceitual

Esquema Interno

visãoExterna

visãoExterna

visãoExterna

visãoConceitual

visãoInterna

Page 4: Banco de Dados - cos.ufrj.brcos.ufrj.br/~marta/ArqHeterog.pdf · Database Client Network Commands (SQL+Exec) Result Table Server Stored procedures Network prototcol Connectivity tool

4

7

Roteiro✔ Introdução a arquiteturas de SGBD

SGBD (ANSI/SPARC)nível Externonível Conceitualnível Interno

SGBD DistribuídoCliente / ServidorSistemas Heterogêneos

8

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 5: Banco de Dados - cos.ufrj.brcos.ufrj.br/~marta/ArqHeterog.pdf · Database Client Network Commands (SQL+Exec) Result Table Server Stored procedures Network prototcol Connectivity tool

5

9

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)

}]

10

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 = {

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

}]

Page 6: Banco de Dados - cos.ufrj.brcos.ufrj.br/~marta/ArqHeterog.pdf · Database Client Network Commands (SQL+Exec) Result Table Server Stored procedures Network prototcol Connectivity tool

6

11

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

12

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, PASSAGEIRO, TELEFONE

FROM RESERVAS, PASSAGEIROSWHERE PASSAGEIRO = NOME

Page 7: Banco de Dados - cos.ufrj.brcos.ufrj.br/~marta/ArqHeterog.pdf · Database Client Network Commands (SQL+Exec) Result Table Server Stored procedures Network prototcol Connectivity tool

7

13

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

SGBD DistribuídoCliente / ServidorSistemas Heterogêneos

14

Arquitetura de SGBD Distribuído

esquemaExterno1

esquemaExterno2

esquemaExternon

esquemaConceitual Global

...

esquemaConceitual Local2

esquemaConceitual Local1

... esquemaConceitual Localm

esquemaInterno Local1

esquemaInterno Local2

esquemaInterno Localm

...

Page 8: Banco de Dados - cos.ufrj.brcos.ufrj.br/~marta/ArqHeterog.pdf · Database Client Network Commands (SQL+Exec) Result Table Server Stored procedures Network prototcol Connectivity tool

8

15

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

16

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 9: Banco de Dados - cos.ufrj.brcos.ufrj.br/~marta/ArqHeterog.pdf · Database Client Network Commands (SQL+Exec) Result Table Server Stored procedures Network prototcol Connectivity tool

9

17

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

18

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 10: Banco de Dados - cos.ufrj.brcos.ufrj.br/~marta/ArqHeterog.pdf · Database Client Network Commands (SQL+Exec) Result Table Server Stored procedures Network prototcol Connectivity tool

10

19

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

20

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 11: Banco de Dados - cos.ufrj.brcos.ufrj.br/~marta/ArqHeterog.pdf · Database Client Network Commands (SQL+Exec) Result Table Server Stored procedures Network prototcol Connectivity tool

11

21

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

22

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 12: Banco de Dados - cos.ufrj.brcos.ufrj.br/~marta/ArqHeterog.pdf · Database Client Network Commands (SQL+Exec) Result Table Server Stored procedures Network prototcol Connectivity tool

12

23

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

24

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 13: Banco de Dados - cos.ufrj.brcos.ufrj.br/~marta/ArqHeterog.pdf · Database Client Network Commands (SQL+Exec) Result Table Server Stored procedures Network prototcol Connectivity tool

13

25

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

26

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 14: Banco de Dados - cos.ufrj.brcos.ufrj.br/~marta/ArqHeterog.pdf · Database Client Network Commands (SQL+Exec) Result Table Server Stored procedures Network prototcol Connectivity tool

14

27

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

28

Cliente/Servidor 3 camadas [Valduriez99]

DataApplication

Database server

Applicationserver

PC

NC

Cliente

Page 15: Banco de Dados - cos.ufrj.brcos.ufrj.br/~marta/ArqHeterog.pdf · Database Client Network Commands (SQL+Exec) Result Table Server Stored procedures Network prototcol Connectivity tool

15

29

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

30

Acesso ao SGBD por Web Browser4 camadas [Valduriez99]

Netscape

Internet Explorer

Spy Mosaic

Webserver

Service

DBMS

Service

ORB

Applications DatabaseBrowser

HTTP

RDACGI

Page 16: Banco de Dados - cos.ufrj.brcos.ufrj.br/~marta/ArqHeterog.pdf · Database Client Network Commands (SQL+Exec) Result Table Server Stored procedures Network prototcol Connectivity tool

16

31

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

32

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 17: Banco de Dados - cos.ufrj.brcos.ufrj.br/~marta/ArqHeterog.pdf · Database Client Network Commands (SQL+Exec) Result Table Server Stored procedures Network prototcol Connectivity tool

17

33

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

Sistemas Heterogêneos

34

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 18: Banco de Dados - cos.ufrj.brcos.ufrj.br/~marta/ArqHeterog.pdf · Database Client Network Commands (SQL+Exec) Result Table Server Stored procedures Network prototcol Connectivity tool

18

35

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

36

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 19: Banco de Dados - cos.ufrj.brcos.ufrj.br/~marta/ArqHeterog.pdf · Database Client Network Commands (SQL+Exec) Result Table Server Stored procedures Network prototcol Connectivity tool

19

37

Funções do Adaptador

Adaptador

Pedido

Object

Publicat. date

Closing date

Department

Lots

Standards

Contents

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

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

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

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

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

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

Pedido

Extração e restruturação de dados

38

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 20: Banco de Dados - cos.ufrj.brcos.ufrj.br/~marta/ArqHeterog.pdf · Database Client Network Commands (SQL+Exec) Result Table Server Stored procedures Network prototcol Connectivity tool

20

39

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.)

40

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.