Gerenciamento de Dados em Bases Heterogêneas Claudia Bauzer Medeiros Instituto de Computação UNICAMP www.ic ic.unicamp.br/~.br/~cmbm
Roteiro Problemas de heterogeneidade Heterogeneidade e Interoperabilidade Alguns tipos de solução Linhas de pesquisa atuais Conclusões
Conclusões Sempre haverá dados heterogêneos Há várias formas de integrá-los Dados+sistemas heterogêneos causam problema de interoperabilidade Soluções baseadas em Buscar consenso (modelos, visões, XML) Desenvolver tradutores/mediadores A heterogeneidade aparece onde menos se espera
Percepções Distintas Relativismo semântico Multiplicidade de representações de um mesmo problema diferentes usuários modelam o mesmo pedaço do mundo real de maneiras distintas, de acordo com suas percepções aplicações podem modelar os elementos de maneiras distintas
O que é isto? SEQADV 13PK ASP C 418 SWS P07378 GLU 418 CONFLICT SEQADV 13PK ARG D 98 SWS P07378 ALA 98 CONFLICT SEQADV 13PK ASP D 418 SWS P07378 GLU 418 CONFLICT SEQRES 1 A 415 GLU LYS LYS SER ILE ASN GLU CYS ASP LEU LYS GLY LYS SEQRES 2 A 415 LYS VAL LEU ILE ARG VAL ASP PHE ASN VAL PRO VAL LYS SEQRES 3 A 415 ASN GLY LYS ILE THR ASN ASP TYR ARG ILE ARG SER ALA SEQRES 4 A 415 LEU PRO THR LEU LYS LYS VAL LEU THR GLU GLY GLY SER SEQRES 5 A 415 CYS VAL LEU MET SER HIS LEU GLY ARG PRO LYS GLY ILE SEQRES 6 A 415 PRO MET ALA GLN ALA GLY LYS ILE ARG SER THR GLY GLY SEQRES 7 A 415 VAL PRO GLY PHE GLN GLN LYS ALA THR LEU LYS PRO VAL
O que é heterogeneidade? Grego (heter + genos) = (diferente + tipo,raça) Latim (heterogeneitas) Sinonimos = disparidade (latim disparilitas), ou seja, com problemas de paridade
O que é heterogeneidade? 17 Dezessete XVII 10+7 São heterogêneos?
O que é heterogeneidade? 17 e 17
O que é heterogeneidade? 17 e 17 Conceitos (peso, idade) Escalas de medida (anos, meses, segundos) Instrumentos de medida - precisão (barbante, régua) Armazenamento Integer(2) e integer(4) Intenção de uso Carteira motorista, Emprego
O que é heterogeneidade? 17 e 17
O que causa heterogeneidade? Heterogeneidade Dos dados Dos sistemas que gerenciam os dados Dos programas que manipulam os dados Dos objetivos dos usuários
O que causa heterogeneidade? Dados - Depende - Como dado foi obtido - Por quem foi obtido - Como foi modelado - Como foi armazenado - Para que será usado - Natureza do dado - Validade, Integridade - Qualidade (do dado, da coleta, da modelagem etc) === Genealogia!
Desafios Modelo Integrado Esquemas integrados Metodologias de mapeamento Métodos de conversão de dados Intercâmbio e atualização de dados Evolução de esquemas
Interoperabilidade? Heterogeneidade e interoperabilidade estão intimamente ligadas (atrapalham-se mutuamente): - sistemas/dados heterogêneos dificultam interoperabilidade - Muitas soluções para interoperabilidade se baseiam em resolver problemas de heterogeneidade
Interoperabilidade Habilidade de compartilhar, interpretar e manipular informacao em bancos de dados componentes em um sistema de multiplos bancos de dados. Lakshmanan, Sadri and Subramanian, 1996 Medida de como/quanto usuarios, dados, software e outros recursos podem ser transferidos entre dois sistemas Goodchild, Egenhofer and Fegeas, 1997
Aplicacoes Interface Processos Dados Entradas - fontes e preparo Processamento - modelos, funcoes Saidas - visualizacao, cognicao
Interoperabilidade Interface Processos Dados Interface Processos Dados
Interoperabilidade Interface Interface Processos Dados RPC Padroes Interface Processos Dados Metadados
Niveis de interoperabilidade Usuario Projetista Programador
Métodos para interoperar Gateways Wrappers e mediadores Linguagens para especificar mapeamentos Não integram, mas dão visão integrada
Gateways Applicação SGBD1 Gateway SGBD2 DB1 DB2 Um gateway para cada par de SGBDs Exige representação intermediária Falta visão integrada dos dados
Wrappers e Mediadores Aplicação Visão integrada Mediator Modelo padrão DB1 Wrapper DB2 Wrapper DB1 DB2 Exige implementação de tradutores Geração automática de wrappers
Linguagens para Tradução e Mapeamentos Applicação Integrador Especificação de mecanismos de integração Tradutor DB1 Tradutor DB2 Especificação de mapeamento DB1 DB2
Taxonomia de heterogeneidade De dados Estrutural Conflitos de dados Conflitos de esquema atributos, relações Semântica De esquema Estrutural nomes de tabelas, atributos, restrições De atributos nomes, valores default
Conflitos de dados Dados com erros Incorretos (erro de inserção) Obsoletos Problemas de representação Expressões Unidades Precisão
Mapeamentos Vendedor trabalha Regiao VendReg(Numvend, Nome, Dept, Numregiao...) Vendtrab(Numvend, Nome, Dept) Regiao(Numregiao,Nomeregiao, Numvend) Mais de 20 tipos de mapeamento ETC
Conflitos esquema-dados (Lakshmanan et al., 1996) Univ-A SalInfo Category Dept SalFloor Prof CS 60,000 Assoc Prof CS 50,000 Prof Math 65,000 Assoc Prof Math 55,000 Univ-B SalInfo Category CS Math Prof 60,000 65,000 Assoc Prof 50,000 55,000 Univ-C CS Category SalFloor Prof 60,000 Assoc Prof 50,000 Math Category SalFloor Prof 65,000 Assoc Prof 55,000
Complexidade e heterogeneidade Tipos complexos de dados apresentam mais oportunidades para heterogeneidade Complexidade => dificuldade de interpretação Dados geográficos Escala, Precisão, Forma de encarar um fenômeno, Modelagem matemática (Ex Biodiversidade) Dados genômicos Falhas, problemas de extração
Identificar Processo de Integração similaridades Diferenças entre os elementos dos diferentes esquemas conjuntos de elementos distintos que são relacionados entre si por alguma propriedade semântica Converter dados (padrões?)
Conflitos de nome Primeiros conflitos a serem identificados Homônimos: mesmo nome, conceitos diferentes Sinônimos: nomes diferentes, conceitos iguais Solução: alterar um dos nomes
Conflitos semânticos Conflitos semânticos mesmo conceito conjuntos que se sobrepõem Solução: generalização Conflitos estruturais mesmo conceito estruturas diferentes Solução: classe
O que mais causa problemas? Sistemas heterogêneos (mesmas aplicações) Sistemas federados (autonomia) Sistemas legados Web 33
Sistema de bancos de dados federados SBDF SBD SBD SBD Componente 1 Componente 2 Componente n... SGBD 1 SGBD 2 (centralizado) (distribuído) BD 1 BD 2-1 BD 2-2... 34
Problemas de SBDF Autonomia de projeto de comunicação de execução de associação Heterogeneidade Identificação Tratamento Distribuição Segurança Recuperação 35
Sistemas legados Sistemas antigos, grandes e autônomos Independentes de SGBD Resistentes a evoluções e modificações Converter ou jogar for a? 36
Arquitetura sistemas legados Sistema de Informação Usuário Final c:\ c:\ Sistema de Interface Interface do Usuário totalmente decomposta Módulos de Aplicações Serviços de Banco de Dados Banco de Dados 37
Arquitetura sistemas legados Sistema de Informação Usuário Final c:\ c:\ Sistema de Interface Interface do Usuário parcialmente decomposta Aplicações e Serviços de Banco de Dados Banco de Dados 38
Arquitetura sistemas legados Sistema de Informação Usuário Final c:\ c:\ não decomposta Interface, Aplicações e Serviços de Banco de Dados Banco de Dados 39
Abordagens para sistemas legados Migração do código legado Construção de um novo sistema Conversão de esquema 40
Web não é BD Todo mundo gera dados Todo mundo quer usar e compartilhar dados Proliferação de visões distintas Fontes semi-estruturadas e autônomas Desempenho imprevisível de consultas Composição de serviços? 41
Web - integração Quantas fontes acessar? Autonomia das fontes? Têm metadados? Dados são estruturados? Permitem atualizações? Genealogia?
Web XML <biblioteca> <livro> <titulo> Meu livro </titulo> <autor> Joao </autor> <autor> Maria </autor> <editora> Addison </editora> <ano> 2004 </ano> </livro> <livro> </livro> </biblioteca>
Web XML <library> <book> <title> Meu livro </title> <author> Joao </author> <author> Maria </author> <editor> Addison </editor> <year> 2004 </year> </book> <book> </book> </library >
Web algumas soluções XML (cada registro carrega sua descrição) RDF (cada atributo carrega sua descrição) Ontologias ( dicionários que mostram relacionamentos entre conceitos) Metadados (descritores armazenados à parte) Problema são novos tipos de dados!!!
Conclusões Sempre haverá dados heterogêneos Há várias formas de integrá-los Dados+sistemas heterogêneos causam problema de interoperabilidade Soluções baseadas em Buscar consenso (modelos, visões, XML) Desenvolver tradutores/mediadores A heterogeneidade aparece onde menos se espera