BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING Asterio K. Tanaka http://www.uniriotec.br/~tanaka/tin0036 [email protected] Bancos de Dados Distribuídos Introdução Asterio K. Tanaka Sistema de informação - Organização - Pessoas - Tecnologia - hardware - software - telecomunicações SISTEMA DE INFORMAÇÃO dados e regras SGBD Programa de Programa de Programa de aplicação de BD aplicação de BD aplicação Asterio K. Tanaka Evolução dos Sistemas de Informação • 50-60’s: programas com dados armazenados em memória • 60-70’s: sistemas de arquivos em disco • 70-90’s: sistemas de bancos de dados • 90’s - ? (depois da WWW): sistemas de informações para Web (WIS) Asterio K. Tanaka Programa com Programa com dados Programa armazenados com dados armazenados dados armazenados em memória arquivos de dados banco de dados Fontes de dados Programa com Programa com Programa com gerência de arquivos gerência de arquivos gerência de arquivos Sistema de Gerência de BD Middle Middle Middle Ware Ware Ware Programa de Programa de Programa de aplicação de BD aplicação de BD aplicação de BD Programa Programade de aplicação de Aplicações aplicação deBD BD Asterio K. Tanaka Sistema de Banco de Dados (um ambiente simplificado) Usuários / Programadores Sistema de BD Consultas / Programas de Aplicação SGBD Software para processar consultas / programas Software para acessar dados armazenados Definição do BD (Metadados) BD armazenado SBD = BD + SGBD Asterio K. Tanaka Classificação dos Sistemas de Bancos de Dados • De acordo com o modelo de dados do SGBD – relacional, em rede, hierárquico, relacionalobjeto, orientado a objeto, outros. • De acordo com o número de locais (“sites”) e com a arquitetura do sistema: – Centralizado – Cliente/servidor – Distribuído federado) (homogêneo, heterogêneo, Asterio K. Tanaka Bancos de Dados Centralizados (Década de 70) hardware + sistema operacional Programa de aplicação de BD dados SGBD terminais locais Programa de aplicação de BD Programa de aplicação de BD modem terminais remotos Asterio K. Tanaka Redes de Microcomputadores (Década de 80) cabo da rede microcomputadores (estações de trabalho) cada vez mais poderosos Asterio K. Tanaka Arquitetura Cliente/Servidor com Servidor de Arquivos Servidor de Arquivos cabo da rede Programa + SGBD Programa + SGBD Servidor de Impressão Asterio K. Tanaka Arquitetura Cliente/Servidor com Servidor de Bancos de Dados SGBD Servidor de Banco de Dados Servidor de Arquivos cabo da rede Programa Programa Servidor de Impressão Asterio K. Tanaka Arquitetura Cliente/Servidor com Múltiplos Servidores de Bancos de Dados (Década de 90 em diante) gateway modem mainframe Asterio K. Tanaka Arquitetura de Aplicações de Bancos de Dados (MST, 1998) Cliente Aplicativo Lógica da IU Lógica do negócio Gerência dos dados BD Figura 3.1 - Componentes de uma aplicação Asterio K. Tanaka BD Cliente-Servidor com apresentação distribuída Cliente Servidor Aplicativo Lógica da IU Aplicativo Lógica da IU Lógica do negócio Gerência dos dados BD Figura 3.2 - Apresentação distribuída. Esta forma de distribuição pode ser utilizada para fornecer uma interface gráfica para as tradicionais aplicações base das em mainframes, por exemplo. a- Asterio K. Tanaka BD Cliente-Servidor com apresentação remota Cliente Servidor Aplicativo Aplicativo Lógica da IU Lógica do negócio Gerência dos dados BD Figura 3.3 - Apresentação remota. Asterio K. Tanaka BD Cliente-Servidor com função distribuída Cliente Servidor Aplicativo Aplicativo Lógica da IU Lógica do negócio Lógica do negócio Gerência dos dados BD Figura 3.4 - Função distribuída. Asterio K. Tanaka BD Cliente-Servidor com gerência de dados remota Cliente Servidor Aplicativo Aplicativo Lógica da IU Lógica do negócio Gerência dos dados BD Figura 3.5 - Gerência de dados remota. Asterio K. Tanaka BD Cliente-Servidor com gerência de dados distribuída Cliente Servidor Aplicativo Aplicativo Lógica da IU Lógica do negócio Gerência dos dados Gerência dos dados BD BD Figura 3.6 - Gerência de dados distribuída. Asterio K. Tanaka BD Cliente-Servidor em três níveis (“three-tier architecture) Cliente Servidor Aplicativo Aplicativo Servidor Aplicativo Lógica da IU Lógica do negócio Lógica do negócio Gerência dos dados BD Figura 3.8 - Programa de aplicação cliente-servidor com arquitetura em três níveis. No caso, as funções relacionadas com a lógica de negócio foram distr ibuídas entre a plataforma-cliente e uma plataforma servidora. O servidor de aplicação atua como cliente do servidor de banco de dados. Asterio K. Tanaka Arquitetura 3-tier C/S (na Web) Legacy applications ooo IIOP HTTP User interface Application server Applications and transactions Application servers XML/HTTP RDA Database servers Asterio K. Tanaka Vantagens da arquitetura 3-tier • Cliente universal – Padrão, multimidia » Navegador Web, cliente EJB, cliente COM, cliente CORBA – applets – portabilidade • Servidor de aplicações – Facilita a manutenção e a implantação de aplicações – É escalável (com n servidores de aplicações) – Facilita o acesso a servidores de dados heterogêneos • Pode ser generalizada para n camadas ? XML como base para integração universal de dados Asterio K. Tanaka Afinal, o que é um BD Distribuído? Definições “Um sistema de BD distribuído é uma coleção de dados distribuída por diferentes computadores, possivelmente em diferentes locais. Os computadores estão conectados por uma rede de comunicação. O sistema deve suportar aplicações locais em cada computador, bem como aplicações globais nas quais mais de um computador esteja envolvido.” (Ceri & Pelagatti, 1985) “Um BD distribuído (BDD) é uma coleção de bancos de dados múltiplos, logicamente inter-relacionados e distribuídos por uma rede de computadores.” “Um SGBD distribuído (SGBD-D) é o software que gerencia o BDD e provê um mecanismo de acesso que faz essa distribuição transparente para os usuários.” (Ozsu & Valduriez, 1998) SBD distribuído = BDD + SGBD-D Asterio K. Tanaka