banco de dados - cos.ufrj.brcos.ufrj.br/~marta/arqheterog.pdf · database client network commands...
TRANSCRIPT
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
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.
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
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)
}]
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)
}]
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
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
...
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
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
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
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
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
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
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
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
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
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
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
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
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.