Gerenciamento de Dados em Bases Heterogêneas
Claudia Bauzer Medeiros Instituto de Computação – Instituto de Computação –
UNICAMP UNICAMP
www www . . ic ic . . unicamp unicamp .br/~ .br/~ cmbm 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 esperaA 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 LYSSEQRES 3 A 415 ASN GLY LYS ILE THR ASN ASP TYR ARG ILE ARG SER ALASEQRES 4 A 415 LEU PRO THR LEU LYS LYS VAL LEU THR GLU GLY GLY SERSEQRES 5 A 415 CYS VAL LEU MET SER HIS LEU GLY ARG PRO LYS GLY ILESEQRES 6 A 415 PRO MET ALA GLN ALA GLY LYS ILE ARG SER THR GLY GLYSEQRES 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 Processos Dados
Interface Processos Dados Interface
RPC
Padroes Metadados
Niveis de interoperabilidade
Programador Projetista Usuario
• Gateways
• Wrappers e mediadores
• Linguagens para especificar mapeamentos
• Não integram, mas dão visão integrada
Métodos para interoperar
Gateways
Um gateway para cada par de SGBDs
Exige representação intermediária
Falta visão integrada dos dados SGBD1
DB1
Gateway SGBD2
DB2 Applicação
Wrappers e Mediadores
Exige implementação de tradutores
Geração automática de wrappers DB1
DB2 Wrapper
DB2 DB1 Wrapper
Mediator
Aplicação Visão integrada
Modelo padrão
Linguagens para Tradução e Mapeamentos
DB1
Tradutor DB2
DB2 Tradutor DB1
Integrador
Applicação
Especificação de
mapeamento Especificação
de
mecanismos de integração
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
VendReg(Numvend, Nome, Dept, Numregiao...)
Vendtrab(Numvend, Nome, Dept)
Regiao(Numregiao,Nomeregiao, Numvend)
ETC Mais de 20 tipos de mapeamento
trabalha
Vendedor Regiao
Conflitos esquema-dados (Lakshmanan et al., 1996)
SalInfo
Category Dept SalFloor
Prof CS 60,000
Assoc Prof CS 50,000
Prof Math 65,000
Assoc Prof Math 55,000 Univ-A
SalInfo
Category CS Math
Prof 60,000 65,000
Assoc Prof 50,000 55,000 Univ-B
CS
Category SalFloor
Prof 60,000
Assoc Prof 50,000 Math
Category SalFloor
Prof 65,000
Assoc Prof 55,000 Univ-C
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
Processo de Integração
• Identificar
– 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
• Conflitos estruturais
– mesmo conceito
– estruturas diferentes
Solução: classe
Solução: generalização
33
O que mais causa problemas?
• Sistemas heterogêneos (mesmas aplicações)
• Sistemas federados (autonomia)
• Sistemas legados
• Web
34 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 ...
Sistema de bancos de dados
federados
35
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
36
Sistemas legados
• Sistemas antigos, grandes e autônomos
• Independentes de SGBD
• Resistentes a evoluções e modificações Converter ou jogar for a?
37
Arquitetura sistemas legados
Sistema de
Informação Usuário Final c:\
c:\
Sistema de Interface Interface do Usuário
Módulos de Aplicações
Serviços de Banco de Dados
Banco de Dados
totalmente decomposta
38
Arquitetura sistemas legados
Sistema de
Informação Usuário Final c:\
c:\
Sistema de Interface Interface do Usuário
Aplicações e
Serviços de Banco de Dados
Banco de Dados
parcialmente decomposta
39
Arquitetura sistemas legados
Sistema de
Informação Usuário Final c:\
c:\
Interface, Aplicações e Serviços de Banco de Dados
Banco de Dados
não
decomposta
40
Abordagens para sistemas legados
• Migração do código legado
• Construção de um novo sistema
• Conversão de esquema
41
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?
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 esperaA heterogeneidade aparece onde menos se espera