510 likes | 621 Views
Bancos de Dados Pós-Relacionais. Jacques Robin & Bernadette Lóscio CIn-UFPE. Mapa dos BD pós-relacionais. Relacional. Distribuídos. Heterogêneos. Warehouse. Multidimensionais. Temporal. Indutivos. DT. Probabilísta. Espaço- Temporal. Ativos. AD. Dedutivos. Restrições. AOO. DOO.
E N D
Bancos de Dados Pós-Relacionais Jacques Robin & Bernadette Lóscio CIn-UFPE
Mapa dos BD pós-relacionais Relacional Distribuídos Heterogêneos Warehouse Multidimensionais Temporal Indutivos DT Probabilísta Espaço- Temporal Ativos AD Dedutivos Restrições AOO DOO COO ADOO Espaçiais Objeto- Relacional Multimídia Orientado a Objetos
Temporal DT Espaço- Temporal Espaçiais Pluridisciplinaridade e origens dos BD pós-relacionais Sistemas de Apóio a Decisão Linguagens de Programação Inteligência Artificial Ativos AOO OO Multi- Dimensionais AD ADOO Data Warehouse Probabilísta Dedutivos DOO Indutivos Sistemas Distribuídos Heterogêneos Restrições COO Distribuídas Multimídia Web
Suporte a decisão: Data Warehouse e BD multidimensionais BD indutivos, dedutivos e probabilistas Re-engenharia de negócio: BD de workflows, 00, de restrições e temporais Monitoramento e controle: BD ativos, temporais e probabilistas CAD/CAM: BD de restrições, dedutivos, multimídia, espaciais, temporais, 00 Sistemas de informação geográficos: BD espaciais, temporais, 00 e de restrições Publicação/Bibliotecas digitais: BD multimídia, distribuídos Comércio eletrónico: BD distribuídas, heterogêneas, multimídia, dedutivos, 00, de restrições, espaciais, temporais, indutivos Novos BD para novas aplicações de BD
Requisitos das Novas Aplicações de BD • Visualização dos dados: • Multidimensional • Multigranular • Integração entre dados e programas: • Integrar funcionalidades comuns de muitas aplicações de BDs no SGBD • Integração com sistemas de raciocínio e representação de conhecimento • Integração com linguagens de programação
Requisitos das Novas Aplicações de BD • Recuperação de Informações através da Internet/Intranet: • Distribuição dos dados • replicação e reconciliação • interoperabilidade • semântica do esquema • linguagem de consulta • autonomia • confiabilidade/origem • segurança • Integração de Informações Heterogêneas
Resumindo... • Abstrações para facilitar a interação DADOS + CONSULTAS + USUÁRIO Requisitos das Novas Aplicações de BD • Manipulação de objetos complexos: • Multimídia e Objetos n-dimensionais • Novos tipos de Dados • Consultas multiresolução • Suporte para Interface com o usuário • Objetos reais com estrutura e comportamento
Limitações dos BDs Relacionais • Não possuem mecanismos para definição/manipulação de: • dados complexos • dados de grandes tamanhos • dados incertos ou não deterministas • comportamentos • consultas ad-hoc ou aproximativas • Baixa performance e dificuldades de implementação para aplicações mais complexas • Linguagem de consulta não computacionalmente completas
declaratividade robustez simplicidade (usa poucos conceitos poderosos) fundamentos formais tecnologia madura e eficiente para: oferecer persistência garantir segurança gerenciar memória secundária controlar transações “Pontos Fortes” dos BDs Relacionais • Extensões ou novos modelos devem oferecer:
BD x DSS: BD Multidimensional Data Warehouse/Data Mart BD Temporal BD x Aplicações: BD Ativo BD Orientado a Objetos BD Objeto-Relacional BD x SIG BD Espacial BD Espaço-temporal BD x Sist. Distribuídos/Internet: BD Distribuídos BD Federados Arquitetura de Mediadores BD Multimídia BD x IA: BD Dedutivo BD Dedutivo OO BD de Restrições BD Probabilistas Sistemas de BDs Pós-Relacionais
5 1 8 6 NORDESTE PERNAMBUCO CEARÁ FORTALEZA ... SOBRAL SUDESTE RIO DE JANEIRO SÃO PAULO BD x DSS BD Multidimensional • Armazena os dados em arrays multidimensionais com um número fixo de dimensões • Permite uma visualização multidimensional e multigranular dos dados • Dimensões: diferentes perspectivas de visualização dos dados (podem ser compostas por múltiplos níveis) • Elementos (ou membros): posições segundo uma dimensão • Medidas: conteúdo de uma célula Fev./99 Tempo Jan./99 P1 P2 P3 P4 Produto
Produto Loja Tempo Unidades Monitor MW Jan/99 5 Fev/99 Monitor MW 1 Mar/99 Monitor MW 8 Abr/99 Monitor MW 6 Fev/99 Impressora PCC 5 Mar/99 Scanner MW 3 Obter respostas a questões típicas de análise dos negócios de uma empresa geralmente requer a visualização dos dados segundo diferentes perspectivas BD x DSS BD Multidimensional - Exemplo Tabela relacional Loja PCC 5 MW Impressora 5 1 8 6 Monitor 3 Scanner Produto Jan/99 Fev/99 Mar/99 Abr/99 Tempo
Características: Orientado por temas Integrado Variante no tempo Não volátil Questões críticas: Integração de dados e metadados de várias fontes Qualidade dos dados: limpeza e refinamento Resumir e agregar os dados Sincronização das fontes com o DW Problemas de desempenho (unir em um mesmo ambiente os BDs corporativos operacionais e o DW) BD x DSS Data Warehouse • Contém dados extraídos (selecionados, depurados e integrados) do ambiente de produção da empresa, sendo otimizado para processamento de consultas ad-hoc e não para transações
BD x DSS Data Mart • É uma implementação de um DW no qual o escopo dos dados é limitado, contém dados agregados apenas a nível departamental • Uma maneira de construir um DW é através da criação e integração progressiva de data marts • Problemas: • escalabilidade em situações onde pequenos data marts iniciais crescem em múltiplas dimensões • integração de dados (diferentes estruturas)
BD x DSS OLAP (On-Line Analytical Processing) • Processamento e ferramentas voltados para análise de dados típica do suporte à decisão • Os dados são apresentados através de uma visão multidimensional e multigranular • A visão dos dados é independente de como eles estão armazenados (MOLAP x ROLAP) • Eficiente para consultas ad-hoc complexas • Exemplos de consultas: • Quais os produtos que vendem bem? • Qual o "ranking" dos vendedores da Região Nordeste?
OLTP Modelo de dados Relacional Dados Atômicos Apenas informações atuais Orientados ao Processo Poucos tipos de consultas simples Atualizações e leituras rápidas OLAP Modelo de dados Multidimensional Dados Agregados Também informações históricas Orientados ao Negócio Grande variedade de consultas complexas Apenas leitura BD x DSS OLAP x OLTP
BD x DSS BD Temporais • Bancos de dados temporais apresentam rótulos temporais associados aos dados. • (i) bancos de dados de tempo de transação: associam aos dados o o instante em que foram inseridos no banco de dados; • (ii) bancos de dados de tempo de validade: associam aos dados o seu tempo de validade na realidade modelada; • (iii) bancos de dados bitemporais: associam o tempo de transação e o tempo de validade • Aspectos temporais podem ser: pontuais, intervalos de tempo ou relacionamentos abstratos (antes, depois, durante,...)
BD x Aplicações BD Ativo • SGBD capaz de responder automaticamente a eventos ocorrendo: • internamente (ex: atualizações no BD, restrições de integridade) • externamente (ex: dispositivos de monitoramento, falhas de hardware) • Capaz de monitorar e reagir a circunstâncias específicas de relevância para a aplicação (o comportamento reativo da aplicação é colocado dentro do SGBD) • Abordagem comum: regras Evento-Condição-Ação especificando comportamento reativo Evento:descreve um acontecimento Condição:examina o contexto onde o evento ocorreu Ação:descreve as tarefas que devem ser executadas
Especificação de eventos e condições a serem monitoradas Consultas e atualizações Ações Eventos externos BD x Aplicações BD Ativo (cont.) Vantagens: • Não acarreta mudanças nas aplicações • Incrementa a funcionalidade dos SGBDs • Atende aos requisitos de restrições temporais das aplicações SGBD Ativo
BD x Aplicações BD Ativo - Exemplo Empregado(#emp, nome, salario, #gerente) Gerente(#gerente, #depto) Regra1: on update to salario of empregado if new.salario > update.gerente.salario do abort Regra2: on update to salario of empregado or insert to empregado if new.salario > update.gerente.salario do instead <informe o administrador do sistema> Regras podem ser disparadas e executadas da seguinte forma: • immediate • deferred • detached
BD x Aplicações Regras Ativas - Aplicações • Manutenção: • Restrições de Integridade • Visões materializadas • Descrever o comportamento/semântica das aplicações • monitorar vendas em um BD para controle de estoque • Em conjunto com dispositivos de monitoramento, podem ser usadas para registrar e responder a situações externas ao BD • aplicações médicas • sistemas de monitoramento de tráfego aéreo
Funcionalidades dos BDs: • dados persistentes • gerenciamento de grandes conjuntos de dados • gerenciamento de memória secundária • gerenciamento de transações • linguagem de consulta declarativa BD x Aplicações BD Orientado a Objetos (BDOO) • Combina o paradigma OO com a tecnologia de BD • Um SGBDOO é um SGBD com um modelo de dados OO • Os requisitos para suportar um modelo de dados OO são: • identidade de objetos • objetos complexos • classes • encapsulamento • herança • overriding, overloading e ligação dinâmica • extensibilidade
BD x Aplicações BD Orientado a Objetos (cont.) • OO em BD combina conceitos de várias áreas: • Linguagens de Programação: tipos de dados abstratos e encapsulamento • Tecnologia de Software: extensibilidade e reusabilidade de código e o princípio da modularização • Modelagem de dados: relações aninhadas ou generalizações do modelo relacional, juntamente com os modelos de dados semânticos
nome_sub rua localização Exemplo - Modelo ER cor fabricante modelo nome idade 1 n 1 possui_frota domicílio Veículo Pessoa #pessoa n 1 produz é-um rua 1 1 salário 1 localização 1 administra Companhia Empregado #companhia qualificação 1 1 n nome_comp possui trabalha gerencia 1 n Subsidiária 1
classe3: Endereço: [ rua: String, localização: String] classe4: Pessoa: [ nome: String, idade: Integer; domicilio: Endereço, Frota: {Veiculos}] classe5: Empregado is-a Pessoa: [ qualificações: {String}, salário: Integer; Familiares: {Pessoa}] classe1: Companhia: [ nome: String, matriz: Endereço; Subsidiarias: {Subsidiaria}, Presidente: Empregado] classe2: Subsidiaria: [ nome: String, escritório: Endereço; Gerente: Empregado, Empregados: {Empregado}] BD x Aplicações BD Orientado a Objetos - Exemplo
BD x Aplicações BD Objeto Relacional (BDOR) • Combina os benefícios do modelo Relacional com a tecnologia de Orientação a Objetos • O modelo de dados OR é uma extensão do modelo Relacional: • permite estender o banco de dados com tipos e funções específicas da aplicação • A linguagem de consulta OR (SQL3) é uma extensão da linguagem SQL para suportar o modelo de objetos • As extensões incluem consultas envolvendo objetos, atributos multivalorados, TADs, métodos e funções como predicados de busca em uma consulta
BD x Aplicações BD Objeto Relacional - Exemplo Criação de Tipos: • CREATE TYPE Subsidiaria • ( • NomeSub String, • Escritório endereço, • Empregados SET(REF(Empregado)), • ); CREATE TYPE Endereço ( RuaNo VARCHAR(60), Cidade VARCHAR(40), ); CREATE TYPE empregado ( nome CHAR(20), salário DECIMAL(10,2), ); • CREATE TYPE Companhia • ( • NomeComp String, • Matriz endereço, • Subsidiarias SET(REF(Subsidiaria)), • Presidente REF(Empregado), • ); Criação de Tabelas: CREATE TYPE Fornecedor ( CodFornec CHAR(4) NomeFornec VARCHAR(40) EndFornec endereço, ); CREATE TABLE Fornecedor OF Fornecedor CREATE TABLE empregados OF Empregado
BD x IA Funcionalidades dos BDs: • dados persistentes • gerenciamento de grandes conjuntos de dados • gerenciamento de memória secundária • gerenciamento de transações • linguagem de consulta declarativa BD Dedutivo (BDD) • Utiliza regras para deduzir ou inferir informações adicionais a partir dos fatos armazenados no BD • Um BDD possui dois tipos principais de especificações: • Fatos (são similares as tabelas dos BDs Relacionais) • Regras (são similares as visões em BDs Relacionais) • Os requisitos para suportar dedução são: • linguagem declarativa • predicados • variáveis lógica • unificação de termos com variáveis • mecanismo de dedução
BD x IA BD Dedutivo (cont.) • A linguagem Datalog é um subconjunto de Prolog utilizada em sistemas de BDD para definir regras e fatos • A notação usada em Datalog é baseada em predicados com um número fixo de argumentos usados para definir fatos e regras • se todos os argumentos de um predicado são constantes, então o predicado estabelece que um certo fato é verdade • se um predicado tem variáveis como argumentos, então ele é considerado uma consulta, ou parte de uma regra ou restrição
BD x IA Uma consulta pode retornar: 1. As diferentes combinações de constantes que, quando unificadas às variáveis, podem tornar o predicado verdadeiro 2. Verdadeiro ou falso BD Dedutivo - Exemplo Consultas superior(paula, Y)? superior(paula, maria) superior(joão, maria) Fatos supervisiona(helena, maria) supervisiona(joão, luís) supervisiona(joão, josé) supervisiona(paula, helena) supervisiona(paula, pedro) ... Regras superior(X,Y) :- supervisiona(X,Y) superior(X,Y) :- supervisiona(X,Z), supervisiona(Z,Y) subordinado(X,Y) :- supervisor(Y,X)
BD x IA BD Dedutivo Orientado a Objetos (BDDOO) • BDD: • alta capacidade de inferência • fundamentos formais • pobre poder de modelagem • BDOO: • rica capacidade de modelagem • alta extensibilidade • falta de consenso sobre o modelo de dados • baixa capacidade de inferência • fundamentos não tão bem formalizados quando os de BDD • BDDOO: • deve combinar as vantagens dos dois métodos acima
BD x IA BDDOO BD Dedutivo Orientado a Objetos • Requisitos OO: • identidade de objetos • objetos complexos • classes • encapsulamento • herança • overriding, overloading • e ligação dinâmica • extensibilidade • Requisitos Raciocínio: • linguagem declarativa • predicados • variáveis lógica • unificação de termos • com variáveis • mecanismo de dedução • Requisitos BD: • dados persistentes • gerenciamento de grandes conjuntos de dados • gerenciamento de memória secundária • gerenciamento de transações • linguagem de consulta declarativa
A hierarquia é-um: empl::person student::person child(person)::person faculty::empl manager::empl yuppie::young yuppie::midaged article::report cacm::article jacm::article john:student john:empl sally:student sally:empl alice:child(john) mary:faculty bob:faculty bob:manager phil:empl 20:young 30:yuppie 40:midaged BD x IA BDDOO - Exemplo • codd70:cacm • flogic94:jacm • cs1:dept • cs2:dept • integer:datatype • string:datatype • “CS”:string • “Mary”:string • “Bob”:string • ms:degree • phd:degree
BD x IA BDDOO - Exemplo (cont.) • Assinatura de Classes: • faculty [boss=>(faculty, manager); age=>midaged; highestDegree=>degree; papers->>article; highestDegree*->phd; avgSalary->50000] • person [name=>string; friends=>>person; children=>>child(person); • empl [affiliation=>dept; boss=>empl; jointWorks@empl=>>report] • dept [assistants=>>(student, empl); mngr=>empl]
BD x IA BDDOO - Exemplo (cont.) • Fatos da base (BD extensional) • bob [name-> “Bob”; age->40; affiliation->cs1[dname-> “CS”; mngr ->bob; assistants->> {john, sally}]] • mary [name-> “Mary”; highestDegree->ms; friends->>{bob, sally} affiliation->cs2[dname->”CS”]] • Regras dedutivas: • E[boss->M] :- E:empl ^ D:dept ^ E[affiliation->D[mngr->M:empl]] • X [jointWorks@Y->>Z] :- Y:faculty ^ X:faculty ^ Y [papers->>Z] ^ X [papers->>Z]
BD x IA BDDOO - Exemplo (cont.) • Consultas: • Quem são os empregados de meia idade do departamento CS e quem são os seus gerentes? • ?- X:empl ^ X [boss-> Y; age->Z:midaged; affiliation->D[dname->”CS”]]. • Quem publicou juntamente com Mary no Jornal da ACM? • ?- mary[jointWorks@Y->>jacm90]. • Onde Mary tem publicações em conjunto com Phil? • ?- mary[jointWorks@phil->>Z].
BD x IA Entrada: BD de Restrições Saída: BD de Restrições Consulta de Restrições Consulta Relacional Entrada: BD Relacional Saída: BD Relacional Banco de Dados de Restrições • Generalizam BD Relacionais através de representações finitas de relações infinitas • Modelo de Dados de Restrições:
BD x IA (c1,d1) (a1,d1) (c2,d2) (a2,d2) (a1,b1) (c1,b1) (a2,b2) (c2,b2) Banco de Dados de Restrições - Exemplo Problema: Um BD consiste em um conjunto de retângulos em um plano, e queremos computar os pares de retângulos distintos onde existe uma interseção • Representação Relacional: • Tuplas: (n,a,b,c,d) • Consulta: {(n1,n2)|n1 n2 (a1,a2,b1,b2,c1,c2,d1,d2)(R(n1,a1,b1,c1,d1) R(n2,a2,b2,c2,d2) ( x,y{a1,a2,b1,b2,c1,c2,d1,d2}) (a1 x c1 b1 y d1 a2 x c2 b2 y d2))}
BD x IA (c1,d1) (a1,d1) (c2,d2) (a2,d2) (a1,b1) (c1,b1) (a2,b2) (c2,b2) Banco de Dados de Restrições - Exemplo Problema: Um BD consiste em um conjunto de retângulos em um plano, e queremos computar os pares de retângulos distintos onde existe uma interseção • Representação com Restrições: • R (z,x,y) • Tupla generalizada: (z=n (a x c)(b y d)) • Consulta: {(n1,n2)|n1 n2 ( x,y)(R(n1,x,y) R(n2,x,y)}
Rede de Comunicação SGBD Distribuído BD x Internet/Sist.Distribuídos BD Distribuídos Fortaleza São Paulo Banco de Dados 1 Banco de Dados 2 Brasília Salvador Banco de Dados 4 Banco de Dados 3
BD x Internet/Sist.Distribuídos BD Distribuídos • Classificação quanto ao grau: • de Heterogeneidade • de Autonomia Local • de Transparência de Distribuição/Integração • Enfoques para Integração de Informações: • Materializado :as informações relevantes são extraídas, filtradas e integradas previamente, de formas a agilizar as consultas • Virtual: as informações são extraídas das fontes de informação somente quando requisitadas • BD Federados • Mediadores
Esquema Global BD x Internet/Sist.Distribuídos Enfoque Fortemente Acoplado BD Federados - Arquitetura Esquema Externo 1 Esquema Externo 2 Esquema Externo n … Esquema Exportado 1 Esquema Exportado 2 Esquema Exportado n … Esquema Componente 1 Esquema Componente n … Esquema Local 1 Esquema Local n … DBS Componente 1 DBS Componente n …
Consultas através de mediadores: 1.As consultas são submetidas ao sistema, via mediador, e este as transforma em subconsultas a serem enviadas às bases de dados. 2. As subconsultas geradas pelo mediador devem ser traduzidas para linguagens de consultas de cada SGBD componente. 3. Os resultados das consultas são traduzidos e a resposta é devolvida ao usuário BD x Internet/Sist.Distribuídos Enfoque Fracamente Acoplado Mediadores - Arquitetura Mediador 1 Mediador 2 Tradutor 1 Tradutor 2 Tradutor 3 BD1 BD2 BD3
BD x Internet/Sist.Distribuídos BD x Agentes • Dedução embutida • Atualização de DW/Data Mart • Personalização de interfaces • Variedades de aplicações integrando BD com Internet • Os agentes podem ter diferentes funções: • notificação • mediação • aquisição de conhecimento
BD x Internet/Sist.Distribuídos BD Multimídia • Armazenam informações que se originam de diferentes tipos de mídia: textos, imagens, áudio e vídeo • Os requisitos para suportar dados multimídia são: • Novos tipos de Dados • Qualidade do Serviço • Consultas multiresolução • Suporte para Interface com o usuário
BD x Internet/Sist.Distribuídos BD Multimídia - Aplicações • Gerenciamento de documentos • os dados podem incluir projetos de engenharia, registros médicos, etc • Disseminação do conhecimento • bibliotecas digitais, livros eletrônicos e repositórios de informação • Monitoramento e controle em tempo real • juntamente com BD Ativo pode ser muito útil para o controle de operações nucleares, pacientes em UTIs, sistemas de transporte, etc
BD x SIG BDs Espaciais • Oferecem tipos de dados espaciais em seu modelo de dados e linguagem de consulta • Estes sistemas devem: • combinar informações geométricas e temáticas • ser o mais geral possível • ter uma semântica formalmente definida • ser independente de SGBD, mas cooperativo com qualquer SGBD • usar técnicas de implementação eficientes para operações em objetos n-dimensionais • ter uma interface visual para os usuários • Aplicações: • Sistemas de Informação Geográficas • CAD/CAM • Robótica
Banco de Dados x KDD • Vantagens da aprendizagem a partir de BDs: • Os dados são armazenados de maneira mais ou menos estruturada • Algum conhecimento do domínio é implicitamente armazenado no BD • Ferramentas de consultas, manipulação de dados e transações estão disponíveis • O número de BD com dados aplicáveis as técnicas de mineração é grande e continua crescendo!
Banco de Dados x KDD • Restrições da aprendizagem a partir de BDs: • O volume de dados é tipicamente muito grande • Os dados podem conter ruídos e informações incompletas • Os dados não foram coletados com o propósito de descoberta de conhecimento • Conhecimento pode ser descoberto a partir de diferentes fontes de dados • Dados relacionais • Dados OO • Dados textuais • Dados temporais • Dados espaciais • Dados na Web • Dados de DW
Bibliografia • Database research: achievements and opportunities for the 21st century • The emergence of post-relational databases byRichard Currier, Chairman - Strategic Marketing - April 1997 • The Asilomar Report on Database Research • Fundamentals of Database Systems • Database Issues in Knowledge Discovery and Data Mining