Top. Esp em Banco de Dados



Documentos relacionados
1998 M. Tamer Özsu & Patrick Valduriez, com tradução livre de Marta Mattoso. Sistemas de Bancos de Dados Distribuídos. Top. Esp em Banco de Dados

Banco de Dados. Profa. Marta Mattoso. COPPE- Sistemas / UFRJ. Arquiteturas em Banco de Dados

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

Projeto de Banco de Dados Distribuído Proj o e j to t o de d B a B nc n o o d e d Da D do d s o D i D str t ibu b í u do d s

Banco de Dados Arquiteturas para SGBDs

Introdução a Banco de Dados

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

Bancos de Dados III. Bancos de Dados Distribuídos Especificação e Projeto Parte 1. Rogério Costa rogcosta@inf.puc-rio.br

Camadas de Serviço de Hardware e Software em Sistemas Distribuídos. Introdução. Um Serviço Provido por Múltiplos Servidores

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

Arquitetura de Banco de Dados

Modelos de Arquiteturas. Prof. Andrêza Leite

Arquitetura de SGBD. Prof. Antonio Almeida de Barros Junior

PEER DATA MANAGEMENT SYSTEM

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Bancos de Dados Distribuídos

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

Bancos de Dados Distribuídos

2. Conceitos e Arquitetura de Bancos de Dados

ADMINISTRAÇÃO DOS RECURSOS DE DADOS


SISTEMA GERENCIADOR DE BANCO DE DADOS

Disciplina de Banco de Dados Introdução

LISTA DE EXERCÍCIOS. 1. Binário: Bit: Menor unidade de dados; dígito binário (0,1) Byte: Grupo de bits que representa um único caractere

Introdução à Banco de Dados. Definição

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Fundamentos dos Sistemas de Informação Organização de Dados e Informações

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Arquitetura de BDs Distribuídos. Victor Amorim - vhca Pedro Melo pam2

Laboratório de Banco de Dados

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Prof.: Clayton Maciel Costa

Sistemas Distribuídos

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. DCC-IME-USP

INTRODUÇÃO E CONCEITOS BÁSICOS. Prof. Ronaldo R. Goldschmidt

Roteiro 2 Conceitos Gerais

Fundamentos de Banco de Dados

UFG - Instituto de Informática

Sistema centralizado O Paradigma Cliente/Servidor

SISTEMAS DISTRIBUÍDOS

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

INF220 - Banco de Dados I

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais

SISTEMAS DISTRIBUIDOS

Bases de Dados II 6638: BSc in Information Systems and Technologies. Cap. 1 Arquitectura de Sistemas de Bases de Dados. Module Introduction

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

Softwares Aplicativos Banco de Dados

Sistemas Distribuídos. Introdução

UFG - Instituto de Informática

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva UFU/FACOM

ADMINISTRAÇÃO DOS RECURSOS DE DADOS

Disciplina: Tecnologias de Banco de Dados para SI s

Sistemas Gerenciadores de Bancos de Dados

Arquitetura dos Sistemas de Informação Distribuídos

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações

Introdução a Banco de Dados Aula 03. Prof. Silvestri

Introdução. Por que um SBD? inconsistência e redundância de dados;

UFG - Instituto de Informática

Sistemas Gerenciadores de Bancos de Dados

Sistemas Distribuídos: Conceitos e Projeto Estilos Arquitetônicos e Arquitetura Cliente/Servidor

CORBA. Common Object Request Broker Architecture. Unicamp. Centro de Computação Rubens Queiroz de Almeida

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados

Banco de Dados Capítulo 1: Introdução. Especialização em Informática DEINF/UFMA Cláudio Baptista

INE 5336 Banco de Dados II

World Wide Web e Aplicações

Sistema de Banco de Dados Distribuídos e DataGrid

Módulo 4: Gerenciamento de Dados

Introdução a Sistemas de Bancos de Dados

20/05/2013. Sistemas de Arquivos Sistemas de arquivos. Sistemas de Gerenciamento de Banco de Dados (SGBD) Banco de Dados. Estrutura de um BD SGBD

3 SCS: Sistema de Componentes de Software

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL

Padrões Arquiteturais. Sistemas Distribuídos: Broker

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

17/10/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores

LINGUAGEM DE BANCO DE DADOS

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Persistência e Banco de Dados em Jogos Digitais

14/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

Fernando Albuquerque - fernando@cic.unb.br. Bancos de Dados. Fernando Albuquerque fernando@cic.unb.br

Projeto de Arquitetura

Sistemas Distribuídos Arquiteturas Middlewares

SISTEMAS OPERACIONAIS

Figura 01 Kernel de um Sistema Operacional

SGBD. Funções Básicas de um SGBD

Noções de. Microsoft SQL Server. Microsoft SQL Server

Faculdade Lourenço Filho - ENADE

Sistemas Distribuídos

INE 5432 Banco de Dados II

Roteiro. Conceitos e Arquitetura de Sistemas de Banco de Dados. Conceitos e Arquiteturas de Sistemas de Banco de Dados. BCC321 - Banco de Dados I

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados

Banco de Dados Conceito de Arquitetura

Transcrição:

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

Roteiro Introdução a arquiteturas de SGBD SGBD (ANSI/SPARC) SGBD Distribuído Cliente / Servidor Sistemas Heterogêneos Bibliografia 2

Arquitetura Define a estrutura do sistema Identificação dos componentes Definição das funções de cada componente Definição de relacionamentos e interações entre os componentes 3

Padronização Modelo 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. 4

Padronização Abordagens 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. 5

Arquitetura ANSI/SPARC (dados) Usuários Esquema Externo visão Externa visão Externa visão Externa Esquema Conceitual visão Conceitual Esquema Interno visão Interna 6

Roteiro Introdução a arquiteturas de SGBD Arquitetura baseada em dados SGBD (ANSI/SPARC) nível Externo nível Conceitual nível Interno SGBD Distribuído Cliente / Servidor Sistemas Heterogêneos 7

Arquitetura ANSI/SPARC (dados) Usuários Esquema Externo visão Externa visão Externa visão Externa Esquema Conceitual visão Conceitual Esquema Interno visão Interna 8

Definição do esquema conceitual RELATION 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) } ] 9

Definição do esquema conceitual RELATION 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 interno RELATION VOOS [ KEY = {VOO} ATTRIBUTES = { VOO: CHAR (5) TARIFA: NUMERIC (8) ASS: NUMERIC (6) CIA: CHAR (20) } ] INTERNAL_REL VOOS [ INDEX ON V# CALL VOINX FIELD = { HEADER: BYTE (1) V#: BYTE (5) TARIFA: NUMERIC (8) ASS: NUMERIC (6) CIA: CHAR (20) } ] 11

Definição de visão externa Exemplo 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 externa Exemplo 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, PASSAGEIROS WHERE PASSAGEIRO = NOME 13

Esquema conceitual ex. livro RELATION EMP [ KEY = {ENO} ATTRIBUTES = { ENO : CHARACTER(9) ENOME : CHARACTER(15) CARGO : CHARACTER(10) } ] RELATION PAY [ KEY = {TITLE} ATTRIBUTES = { CARGO : CHARACTER(10) SAL : NUMERIC(6) } ] 14

Esquema conceitual ex. livro RELATION 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) } ] 15

Roteiro Introdução a arquiteturas de SGBD Arquitetura baseada em dados SGBD (ANSI/SPARC) SGBD Distribuído Cliente / Servidor Sistemas Heterogêneos 16

Arquitetura de SGBD Distribuído esquema Externo 1 esquema Externo 2... esquema Externo n esquema Conceitual Global esquema esquema... esquema Conceitual Local 1 Conceitual Local 2 Conceitual Local m esquema Interno Local 1 esquema Interno Local 2... esquema Interno Local m 17

Roteiro Introdução a arquiteturas de SGBD Arquitetura baseada em dados SGBD (ANSI/SPARC) SGBD Distribuído Arquitetura baseada em componentes SGBD Distribuído Cliente / Servidor Sistemas Heterogêneos 18

Arquit. Componentes do SGBDD Processador do Usuário Interface Usuário Controlador Semântica Otimizador Cons. Global Monitor de Execução Global Esquema Externo Esquema Conceit. Global Catálogo G Processador de Dados Otimizador Cons. Local Gerente Reconstr. Local Processo apoio execução Esquema Conceit. Local Log Esquema Interno Local Base de Dados 19

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 20

Acesso Compartilhado ao SGBD Centralizado Sem armaz. de dados Terminais ou PC emulando Hospedeiro Roda todo o software Pedidos batch Comunicação Sw Aplicação Serviços SGBD Respostas Rede Base de dados 21

Distribuição de tarefas [Valduriez99] Application Application tool Connectivity tool Client Commands (SQL+Exec) Network prototcol Result Table Network Network prototcol Connectivity tool DBMS Stored procedures Server Database 22

Distribuição de Tarefas Consulta SQL Aplicação Interface Cons.... Interface Prog. Comunicação Gerente de Comunicação Tabela resultado Gerente de Comunicação Otimizador de Consulta Gerente de Bloqueio Gerente de Armazenamento Gerente de Págs. e Cache Base de dados 23

Muitos Clientes / Um Servidor Aplicação Serviços Cliente Comunicação Comunicação Aplicação Serviços Cliente Comunicação Comunicação Aplicação Serviços Cliente Comunicação Comunicação Pedidos alto nível Comunicação Dados já filtrados Rede Local Serviços SGBD Base de dados 24

Vantagens Arquit. Cliente/Servidor Divisão de trabalho mais adequada Escalonamento de recursos horizontal e vertical Má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/ cliente Melhor preço/desemp. do sistema global 25

Problemas com Muitos-Clientes/Um Servidor O servidor é um ponto de estrangulamento O servidor é um ponto de falha único (não há alternativas) O crescimento da base de dados é difícil 26

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 27

Muitos Clientes/ Muitos Servidores diretório caching decomp. consulta commit Aplicação Serviços Cliente Comunicação Comunicação Comunicação Serviços SGBD Comunicação Serviços SGBD Rede Local Base de dados Base de dados 28

Servidor para Servidor Interface SQL Interface Program. Outros ambientes de apoio a aplicação Aplicação Serviços Cliente Comunicação Comunicação Comunicação Serviços SGBD Comunicação Serviços SGBD Rede Local Base de dados Base de dados 29

Limitações de Cliente/ Servidor Operar é difícil necessita de vários especialistas: SGBD, rede ferramentas heterogêneas dificuldade de evolução aplicação muda => propaga em todos os clientes cria nova base => replica storage procedures Custo de manutenção é alto 30

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 31

Cliente/Servidor 3 camadas [Valduriez99] Cliente PC Application server Database server NC Application Data 32

Vantagens - três camadas (3-tier) Cliente Universal padrão, browser multimidia applets portabilidade Servidor de aplicação facilita manutenção e desenvolvimento facilita acesso a múltiplos servidores de BD Naturalmente estende p/ n camadas 33

Acesso ao SGBD por Web Browser 4 camadas [Valduriez99] Netscape Internet Explorer HTTP Web server Service ORB DBMS CGI Service RDA Spy Mosaic Browser Applications Database 34

Acesso ao SGBD por Web Browser Web browser se comunica com servidor Web usando HTTP Através do CGI (Common Gateway Interface) é possível invocar um programa executável (acesso SQL) Quando o SGBD executa a consulta o servidor da aplicação transforma as tuplas do resultado em páginas HTML 35

Servidor de Aplicação Simples = servidor web aplicações pequenas, sem transações Servidor Empresarial aplicações grandes e distribuídas transações apoio a padrões: CORBA componentes apoio a padrões: CORBA, COM, EJB ferramentas de desenvolvimento 36

Roteiro Introdução a arquiteturas de SGBD SGBD (ANSI/SPARC) SGBD Distribuído Cliente / Servidor Sistemas Heterogêneos 37

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 38

Arquiteturas de integração Acoplam. fraco Integrado Federado Serviço de Consultas Dicionário dados global M 2 M 1 Um módulo de acesso por aplicação Um mediador por domínio Um módulo global de integração 39

Uso de mediadores com integração de domínios A p l i c a ç ã o M A A M Desenvolv. Incremental Organização Flexibilidade M A A M A A A A Lotus Notes Databases A A A A A A HTTP Server Arquivos Altavista Dados legados IMS IDS DB2 Oracle 40

Funções do Adaptador Extração e restruturação de dados Pedido Pedido Object Publicat. date Closing date Department Lots Standards............... Adaptador Contents... 41

Exemplo- integração de informações Pedidos & Empresas no mesmo departamento dep dep Empresas join Pedidos dep Pedidos Visão estruturada homogênea dep union dep Pedidos 42

Exemplo- integração de informações Person(name, picture), Publication(author,...) select * from Publication pub, Person pers where pub.author = pers.name Plano de execução: submit Join Wrapper1 submit Wrapper2 s Person s select author=x Publication scan Person select scan Publication 43

Produtos de Integração de Info. Ferramentas Multidatabase com interfaces Web DataJoiner (IBM) Oracle/Star EDA/SQL (Information Builders) Open Database Exchange (B2Systems) Ferramentas recuperação info. p/ documentos Web Harvest (U. Colorado) Strudel (ATT) AltaVista (Digital) Mediadores na integração BD e documentos Mediation products (Dyade - Bull and Inria) Tsimmis (Stanford U.) 44

Alternativas: Implementação SGBDD 45

Dimensões do Problema Distribuição Se os componentes do sistema estão localizados na mesma máquina ou não Heterogeneidade Varios níveis (hardware, comunicação, sistema operacional) SGBD importantes: modelo de dados, linguagem de consultas, gerência de transações, algoritmos Autonomia Não é bem compreendida Projeto, Comunicação e Execução 46

Arquitetura de SGBD-D (dados) esquema Externo 1 esquema Externo 2... esquema Externo n esquema Conceitual Global esquema esquema... esquema Conceitual Local 1 Conceitual Local 2 Conceitual Local m esquema Interno Local 1 esquema Interno Local 2... esquema Interno Local m 47

Arquitetura de Multi-SGBD (dados) 48

Arquitetura de Multi-SGBD (comp.) 49

Bibliografia Introdução a arquiteturas de SGBD SGBD (ANSI/SPARC) SGBD Distribuído Ozsu,M., Valduriez,P., Principles of Distributed Database Systems, Cap 4, Prentice-Hall, 1999. Cliente / Servidor Ozsu,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êneos Ozsu,M., Valduriez,P., Principles of Distributed Database Systems, Cap 4, 16 Prentice-Hall, 1999. 50