Bruno Tomazela
Orientadora: Profª Drª Cristina Dutra de Aguiar Ciferri
04 de Abril de 2008
Objetivo e Motivações
Procedência dos Dados
Trabalhos Correlatos
Proposta
Desenvolver um modelo de
procedência
dos
dados dentro do
contexto
de um sistema de
integração
dos dados
Verificar histórico
dos dados
Assegurar a qualidade
dos dados
Realizar processos de auditoria
e autoria
dos dados
Reenviar
dados para as fontes
5
BD integrado
Fonte A Fonte B
Fonte A Artigo A - 2007 Processo de Artigo A - 2006 Fonte B Integração Artigo A - 2006
Relatório 2006
Título
Ano
...
Artigo A 2006 ... BD integrado7
Fonte A Artigo A - 2007 Processo de Artigo A - 2006 Fonte B Integração Artigo A - 2006
Relatório 2006
Título
Ano
...
Artigo A 2006 ...Verificar
histórico
dos dados
Ex: Identificar as
fontes
e as
versões
de um dado
BD integrado
Fonte A Artigo A - 2007 Processo de Artigo A - 2006 Fonte B Integração Artigo A - 2006
Relatório 2006
Título
Ano
...
Artigo A 2006 ...Verificar
histórico
dos dados
Ex: Identificar as
fontes
e as
versões
de um dado
BD integrado
Assegurar a
qualidade
dos dados
Ex: Fontes confiáveis x Fontes não-confiáveis
9
Fonte A Artigo A - 2007 Processo de Artigo A - 2006 Fonte B Integração Artigo A - 2006
Relatório 2006
Título
Ano
...
Artigo A 2006 ... BD integradoFonte A Artigo A - 2007 Processo de Artigo A - 2006 Fonte B Integração Artigo A - 2006
Relatório 2006
Título
Ano
...
Artigo A 2006 ... BD integradoAssegurar a
qualidade
dos dados
Processos de
auditoria
Ex: Verificar o processo de derivação de um dado
11
Fonte A Artigo A - 2007 Processo de Artigo A - 2006 Fonte B Integração Artigo A - 2006
Relatório 2006
Título
Ano
...
Artigo A 2006 ... BD integradoProcessos de
auditoria
Ex: Verificar o processo de derivação de um dado
Fonte A Artigo A - 2007 Processo de Artigo A - 2006 Fonte B Integração Artigo A - 2006
Relatório 2006
Título
Ano
...
Artigo A 2006 ... BD integradoProcessos de
autoria
Ex: Verificar o responsável por um dado
13
Fonte A Artigo A - 2007 Processo de Artigo A - 2006 Fonte B Integração Artigo A - 2006
Relatório 2006
Título
Ano
...
Artigo A 2006 ... BD integradoProcessos de
autoria
Ex: Verificar o responsável por um dado
Fonte A Artigo A - 2007 Processo de Artigo A - 2006 Fonte B Integração Artigo A - 2006
Relatório 2006
Título
Ano
...
Artigo A 2006 ... BD integradoReenviar
dados para as fontes
Ex: As fontes podem ser retificadas com os dados integrados
15
Fonte A Artigo A - 2007 Processo de Artigo A - 2006 Fonte B Integração Artigo A - 2006
Relatório 2006
Título
Ano
...
Artigo A 2006 ... BD integradoReenviar
dados para as fontes
Ex: As fontes podem ser retificadas com os dados integrados
Fonte A Artigo A - 2007 Processo de Artigo A - 2006 Fonte B Integração Artigo A - 2006
Relatório 2006
Título
Ano
...
Artigo A 2006 ... BD integrado17
Fonte A Artigo A - 2007 Processo de Artigo A - 2006 Fonte B Integração Artigo A - 2006
Relatório 2006
Título
Ano
...
Artigo A 2006 ...Ok. Os dados do artigo A
estão corretos!
Existem casos em que as fontes não podem ser atualizadas!
BD integrado
Reenviar
dados para as fontes
Fonte A Artigo A - 2007 Processo de Artigo A - 2006 Fonte B Integração
Artigo A - 2006
Somente
Leitura
Somente
Leitura
Não é possível reenviar dados para as fontes
BD integrado
19
Fonte A Artigo A – 2006 Processo de Artigo A – 04/06/2006 Fonte B Integração Artigo A - 04/06/2006
Data:
dia/mês/ano
Data:
ano
Não é possível reenviar dados para as fontes
BD integrado
Fonte A Artigo A - 2007 Processo de Artigo A - 2006 Fonte B Integração
Artigo A - 2006
Data:
dia/mês/ano
Data:
ano
Nesses casos, as fontes fornecem sempre os mesmos dados
inconsistentes!
Não é possível reenviar dados para as fontes
BD integrado
Repetição das integrações
Processo de integração envolve o usuário
Diferentes decisões para um mesmo
problema de inconsistência
Problemas com as repetições de integração
◦
Inconsistência entre as decisões
Fonte A Artigo A - 2007 Processo de Artigo A - 2006 Fonte B Integração Artigo A - 2007
Relatório 2006
Título
Ano
...
Artigo A 2007 ... BD integrado
Problemas com as repetições de integração
◦
Inconsistência entre as decisões
23
Fonte A Artigo A - 2007 Processo de Artigo A - 2006 Fonte B Integração Artigo A - 2007
Relatório 2006
Título
Ano
...
... ...Onde está o Artigo A?
BD integrado
Problemas com as repetições de integração
Fonte A Artigo A - 2007 Processo de Artigo A - 2006 Fonte B Integração Artigo A - 2007
Relatório 2006
Título
Ano
...
... ...Relatórios inconsistentes!
BD integradoUtilizar a
procedência
para identificar as
decisões
de integração e
aplicá-las
automaticamente
25
Fonte A Artigo A - 2007 Processo de Artigo A - 2006 Fonte B Integração
Fonte A Processo de Artigo A - 2006 Fonte B Integração Artigo A - 2006 BD integrado Artigo A - 2007
Utilizar a
procedência
para identificar as
decisões
de integração e
aplicá-las
automaticamente
Objetivo e Motivações
Procedência dos Dados
Trabalhos Correlatos
Proposta
Validação
Cronograma
Conjunto de metadados para identificar
◦
As fontes
◦
Os processos de transformação
P
Conjunto de metadados para identificar
◦
As fontes
◦
Os processos de transformação
29
P
Quais dados armazenar? Como coletar? Como armazenar? Como consultar?
Quatro aspectos
Definição dos dados de procedência que são
necessários para uma determinada aplicação
Os dados de procedência recebem diferentes
classificações na literatura
◦
Source
e
Transformation Provenance
◦
Why
e
Where Provenance
◦
Provenance
e
Process Meta-Information
Procedência “BD Integrado”
◦
Fonte e transformação
33 Temperatura 30 25 27 32BD
Integrado
Sensor A
Média(Temperatura)Temperatura 30 25 27 32
BD
Integrado
Sensor A
Fonte
Procedência “BD Integrado”
◦
Fonte e transformação
Média(Temperatura)35 Temperatura 30 25 27 32
BD
Integrado
Sensor A
Fonte
Transformação
Procedência “BD Integrado”
◦
Fonte e transformação
Média(Temperatura)Temperatura 30 25 27 32
BD
Integrado
Sensor A
Source
e
transformation provenance
Fonte
Transformação
Procedência “BD Integrado”
◦
Fonte e transformação
Temperatura 30 25 27 32 37
BD
Integrado
Sensor A
Procedência “BD Integrado”
◦
Detalhamento da fonte
Média(Temperatura)Temperatura 30 25 27 32
BD
Integrado
Sensor A
Procedência “BD Integrado”
◦
Detalhamento da fonte
Fonte
Média(Temperatura)Temperatura 30 25 27 32 39
BD
Integrado
Sensor A
Procedência “BD Integrado”
◦
Detalhamento da fonte
Fonte
Dados utilizados no
cálculo da média
Média(Temperatura)Temperatura 30 25 27 32
BD
Integrado
Média(Temperatura)Sensor A
Procedência “BD Integrado”
◦
Detalhamento da fonte
Fonte
Dados utilizados no
cálculo da média
Procedência “BD Integrado”
◦
Fonte + Transformação + Informações do ambiente
41 Temperatura 30 25 27 32
BD
Integrado
Média(Temperatura)Sensor A
Fonte
Procedência “BD Integrado”
◦
Fonte + Transformação + Informações do ambiente
Temperatura 30 25 27 32BD
Integrado
Média(Temperatura)Sensor A
Transformação
Procedência “BD Integrado”
◦
Fonte + Transformação + Informações do ambiente
43 Temperatura 30 25 27 32
BD
Integrado
Média(Temperatura)Sensor A
Usuário: José
Fonte
Fonte
Transformação
Procedência “BD Integrado”
◦
Fonte + Transformação + Informações do ambiente
Temperatura 30 25 27 32BD
Integrado
Média(Temperatura)Sensor A
Usuário: José
Fonte
Transformação
Procedência “BD Integrado”
◦
Fonte + Transformação + Informações do ambiente
45 Temperatura 30 25 27 32
BD
Integrado
Média(Temperatura)Sensor A
Usuário: José
Data: 10/05/2007
Fonte
Transformação
Procedência “BD Integrado”
◦
Fonte + Transformação + Informações do ambiente
Temperatura 30 25 27 32BD
Integrado
Média(Temperatura)Sensor A
Usuário: José
Data: 10/05/2007
Ferramentas: SSH + Calculadora
Identifica o nível de detalhe dos dados
Quanto menor a granularidade
◦
Maior o custo de coleta e armazenamento
◦
Grande variedade de consultas podem ser
respondidas
Quanto maior a granularidade
◦
Menor o custo de coleta e armazenamento
◦
Pouca variedade de consultas podem ser
respondidas
Ponderar o custo-benefício de armazenar um
dado
◦
Identificar os dados que devem ter a procedência
armazenada
◦
Identificar os dados de procedência que devem ser
armazenados
Ponderar o custo-benefício de armazenar um
dado
◦
Identificar os dados que devem ter a procedência
armazenada
◦
Identificar os dados de procedência que devem ser
armazenados
49
A granularidade depende dos objetivos para o
qual a procedência está sendo armazenada
Como
◦
Manual x Automática
Quando
Requer mais de tempo do usuário
◦
Ferramentas sem suporte à procedência
◦
Bancos de dados acurados manualmente
51
BD
Arquivo InternetBD
Integrado
Coleta é transparente para usuário
◦
Sistema de arquivos
Procedência para criar, mover, remover, alterar arquivos
◦
SGBD
Procedência das tuplas de um tabela
◦
Aplicação
Procedência das transformações
◦
Serviço
Procedência é “calculada” apenas quando
requisitada
53 Consulta QBD
Resultado RSGBD
Procedência é “calculada” apenas quando
requisitada
Consulta QBD
Resultado RDe onde veio esse resultado?
Procedência é coletada apenas quando
requisitada
55 Consulta QBD
Resultado R Consulta Q’ Procedência Resultado RSGBD
Procedência é coletada conforme os dados
são gerados
Consulta QBD
Resultado R Procedência Resultado RSGBD
Ligação entre dado e procedência
Como manter a história de um dado
Procedência pode estar armazenada
◦
Junto com o dado
Facilita a ligação entre o dado e sua procedência
Tabela Artigos
Tabela de
dos Artigos
Procedência
Procedência pode estar armazenada
◦
Separada do dado
Dificulta a ligação entre o dado e sua procedência
59
Tabela Artigos
Tabela de
dos Artigos
Procedência
Quatro técnicas descritas na literatura
◦
Naive provenance
◦
Transactional provenance
◦
Hierarchical provenance
Naive provenance
◦
Armazena todos os dados possíveis
◦
Maior nível de detalhes dentre as quatro técnicas
◦
Não considera otimizações quanto à forma de
armazenamento
Transactional provenance
◦
Agrupa as operações em transações
Título Ano ... Artigo A ... ... 2007 ... Título Ano ... Artigo A ... ... 2006 ...
T
1= início transação
T
2T
3= fim da transação
Transactional provenance
◦
Agrupa as operações em transações
63 Título Ano ... Artigo A ... ... 2007 ... Título Ano ... Artigo A ... ... 2006 ...
T
1= início transação
T
2T
3= fim da transação
Edição: Ano = 2007 Edição: Ano = 2006
Para cada dado, apenas a procedência da última
operação em uma transação é armazenada
Transactional provenance
◦
Agrupa as operações em transações
Título Ano ... Artigo A ... ... 2007 ... Título Ano ... Artigo A ... ... 2006 ...
T
1= início transação
T
2T
3= fim da transação
... VLDB ... Congresso
Hierarchical provenance
◦
Conceito pai-filho
65 Título Ano ... Artigo A ... ... 2006 ... Congresso Ano ... VLDB ... ... 2006 ... Título Ano ... Artigo A ... ... 2006 ... Congresso ProcedênciaFonte A ProcedênciaFonte B
Procedência
Artigos + Congressos
Artigos Congressos
VLDB ... Congresso
Hierarchical provenance
◦
Conceito pai-filho
Título Ano ... Artigo A ... ... 2006 ... Congresso Ano ... VLDB ... ... 2006 ... Título Ano ... Artigo A ... 2006 Congresso ProcedênciaFonte A ProcedênciaFonte B
Procedência Artigos + Congressos Artigos Congressos Detalhamento Artigos
Não
repete a
procedência do
Transactional-hierarchical provenance
◦
Combina as técnicas
transactional
e
hierarchical
◦
Agrupa as operações em transações
◦
Conceito pai-filho
Dois principais tipos de consulta:
◦
Tipo rastreamento (Tipo um)
Tipo rastreamento
◦
Consultar os dados e verificar a procedência dos
mesmos
◦
“Como esse relatório foi gerado?”
Tipo filtro
◦
Consultar os dados filtrando por um determinado
critério de procedência
◦
“Gerar um relatório apenas com dados advindos do
Lattes”
Objetivo e Motivações
Procedência dos Dados
Trabalhos Correlatos
Proposta
Uncertainty Lineage Database
(ULDB)
◦
Modelo relacional
Sistema ELIT
◦
Sistema de integração
Objetivo
◦
Tratar incerteza dos dados no modelo relacional,
utilizando como base a procedência dos dados
Combinação das teorias
Lineage Database
73 ID Pessoa Carro Testemunha 21 22 23 Ana Ana Bete Gol Fox Parati ID Pessoa Carro Motorista 31 32 33 Gol Fox Gol 34 João João Pedro Parati ID Testemunha Motorista Acusação 41 42 43 João João Pedro 44 Ana Ana Ana Bete Pedro Pedro
ID Pessoa Carro Testemunha 21 22 23 Ana Ana Bete Gol Fox Parati ID Pessoa Carro Motorista 31 32 33 Gol Fox Gol 34 João João Pedro Parati ID Testemunha Motorista Acusação 41 42 43 João João Pedro 44 Ana Ana Ana Bete Pedro
f
(41) = {21, 31}f
(42) = {22, 32}f
(43) = {21, 33}f
(44) = {23, 34} Pedro75 ID Pessoa Carro Testemunha 21 22 23 Ana Ana Bete Gol Fox Parati ID Pessoa Carro Motorista 31 32 33 Gol Fox Gol 34 João João Pedro Parati ID Testemunha Motorista Acusação 41 42 43 João João Pedro 44 Ana Ana Ana Bete Pedro
f
(41) = {21, 31}f
(42) = {22, 32}f
(43) = {21, 33}f
(44) = {23, 34}Procedência
Pedrox-tuple
maybe
ID (Pessoa, Carro)Testemunha 21
23
(Ana, Gol) || (Ana, Fox) (Bete, Parati) ? ID Pessoa Carro Testemunha 21 22 23 Ana Ana Bete Gol Fox Parati
77
Testemunha
aid 211 212 221xid Pessoa Carro num 21 21 22 Ana Ana Bete Gol Fox Parati 3 3 1
alternativa
x-tuple
maybe
Acusação
aid 411 421 431
xid Pessoa Motorista num
41 42 Ana Ana Ana João João Pedro 1 1 1 441 44 Bete Pedro 1 43
Lin_Acusação
aid 411 411 421 aid_origem tabela_origem 211 311 212 431 211 431 331 Testemunha Testemunha Testemunha Motorista Motorista 421 321Procedência
80
Acusação
aid 411 421 431xid Pessoa Motorista num
41 42 Ana Ana Ana João João Pedro 1 1 1 441 44 Bete Pedro 1 43
Lin_Acusação
aid 411 411 421 aid_origem tabela_origem 211 311 212 431 211 431 331 441 221 Testemunha Testemunha Testemunha Testemunha Motorista Motorista Motorista Motorista 421 441 321 341Procedência
Testemunha
aid 211 212 221
xid Pessoa Carro num 21 21 22 Ana Ana Bete Gol Fox Parati 3 3 1
Motorista
aid 311 321 331xid Pessoa Carro num 31 32 33 João João Pedro Gol Fox Gol 1 1 1 341 34 Pedro Parati 1
82
Aspecto
ULDB e Sistema Trio
Quais dados armazenar
Where-provenance
Coleta
Automática
Eager
Armazenamento
Hierarchical
Junto
Suporte a poucas informações sobre a procedência
◦
Apenas
where-provenance
◦
Não armazena informações sobre eventuais transformações
Escopo limitado ao modelo relacional
Não armazena informações sobre o ambiente
◦
Usuário
◦
Data
Suporte a poucas informações sobre a procedência
◦
Apenas
where-provenance
◦
Não armazena informações sobre eventuais transformações
Escopo limitado ao modelo relacional
Não armazena informações sobre o ambiente
◦
Usuário
◦
Data
84
Não é possível:
Garantir a qualidade dos dados
Realizar processos de auditoria
Aplicar alterações automaticamente
Objetivo
◦
Armazenar a procedência dos dados em processos
de integração com base em mediadores
Acesso às fontes de dados
◦
Função desempenhada pelo mediador
Não há armazenamento no mediador
◦
Apenas o resultado da consulta é retornado para a
aplicação
Obter a procedência pode ser
◦
Difícil
Se o esquema da fonte mudar
◦
Impossível
Se a fonte não estiver mais disponível
Solução proposta
◦
Armazenar os dados utilizados para gerar o
resultado da consulta
88
<ITEM id_item = “1” nome_item = “cola” categoria = “papelaria”/> <ITEM id_item = “2” nome_item = “caneta” categoria = “papelaria”/> <ITEM id_item = “3” nome_item = “camiseta” categoria = “vestimenta”/> ...
Itens
id_filial id_item qtd_total preço Vendas 2 2 3 4 3 2 3 3 500 2000 1500 2000 150 2 280 350 4 1 2100 60
Consulta
◦
Quantas camisetas foram vendidas, somando todas as filiais?
◦
Resultado: 4000 camisetas
Procedência
nome_tabela num_registro
Data Reference Table
nome_atributo valor ITEM ITEM ITEM ... 3 3 3 ... id_item nome_item categoria ... 3 camiseta vestimenta ... Vendas 1 id_filial 2 Vendas 1 id_item 3 Vendas 1 qtd_total 50090
<ITEM id_item = “1” nome_item = “cola” categoria = “papelaria”/> <ITEM id_item = “2” nome_item = “caneta” categoria = “papelaria”/> <ITEM id_item = “3” nome_item = “camiseta” categoria = “vestimenta”/> ...
Itens
id_filial id_item qtd_total preço Vendas 2 2 3 4 3 2 3 3 500 2000 1500 2000 150 2 280 350 4 1 2100 60
<ITEM id_item = “1” nome_item = “cola” categoria = “papelaria”/> <ITEM id_item = “2” nome_item = “caneta” categoria = “papelaria”/> <ITEM id_item = “3” nome_item = “camiseta” categoria = “vestimenta”/> ...
Itens
id_filial id_item qtd_total preço Vendas 2 2 3 4 3 2 3 3 500 2000 1500 2000 150 2 280 350 4 1 2100 60
92
Aspecto
Sistema Trio
Quais dados armazenar
Where-provenance
Coleta
Automática
Eager
Armazenamento
Separado
Naive
Suporte apenas a procedência do tipo
where-provenance
Não são armazenados dados sobre transformações no
dados
Não trata inconsistência dos dados
Não armazena informações sobre ambiente
◦
Usuário
◦
Data
Suporte apenas a procedência do tipo
where-provenance
Não são armazenados dados sobre transformações no
dados
Não trata inconsistência dos dados
Não armazena informações sobre ambiente
◦
Usuário
◦
Data
94
Não é possível:
Garantir a qualidade dos dados
Realizar processos de auditoria
Aplicar alterações automaticamente
Objetivo e Motivações
Procedência dos Dados
Trabalhos Correlatos
Proposta
Desenvolver um modelo de
procedência
dos
dados dentro do
contexto
de um sistema de
integração
dos dados
Considerar as motivações enunciadas como
requisitos do modelo
Oferecer suporte aos 4 aspectos
Em relação à fonte do dado
◦
Metadados para acesso e recuperação do dado
◦
Exemplo para relacional (esquema, tabela,
atributo)
98
Quais dados armazenar?
Em relação às transformações
◦
Inserção
◦
Edição
◦
Sobreposição
◦
Integração
Quais dados armazenar?
Em relação ao ambiente
◦
Usuário
◦
Data
◦
Ferramenta utilizada
100 Quais dados armazenar?
Automática
Eager
Protótipo: Serviço externo à aplicação
Quais dados armazenar?
Ligação entre dado e procedência
◦
Testar os dois tipos de armazenamento no
contexto de integração
◦
Junto x Separado
Protótipo: SGBD e XML
102 Quais dados armazenar?
Armazenamento da história
◦
Testar os métodos já existentes
◦
Desenvolver um novo método específico para o
contexto de integração
Quais dados armazenar?
Oferecer suporte às consultas
◦
Rastreamento
◦
Filtro
Protótipo: SQL, XQuery/XPath
104 Quais dados armazenar?Aspecto
Modelo Proposto
Quais dados armazenar
Process
e
provenance
meta-information
Coleta
Automática
Eager
Armazenamento
Não definido
106
Aspecto
Modelo Proposto
Quais dados armazenar
Process
e
provenance
meta-information
Coleta
Automática
Eager
Armazenamento
Não definido
Consulta
Tipo rastreamento e filtro
Decidir a técnica de armazenamento.
Decidir se a procedência será armazenada “
junto
” ou
“
separada
” do dado.
Objetivo e Motivações
Procedência dos Dados
Trabalhos Correlatos
Proposta
Aplicar o modelo proposto no Projeto Urano
Projeto Urano
◦
Reunir dados de cunho acadêmico dos docentes do
ICMC
◦
Banco de dados integrado
Processos de integração
Currículo Urano-XML Fênix Júpiter Tradutor Lattes-Urano Tradutor Fênix-Urano Tradutor Júpiter-Urano Lattes Subsistema UranoSQL UranoBD Urano Admin UranoWeb Aplicações Base Subsistema Administrador Reconciliador de Dados