Interoperabilidade - PowerPoint PPT Presentation

1 / 153
About This Presentation
Title:

Interoperabilidade

Description:

Interoperabilidade Ulrich Schiel ulrich_at_dsc.ufcg.edu.br (C) COPIN - Coordena o de P s-Gradua o em Inform tica UNIVERSIDADE FEDERAL DE CAMPINA GRANDE – PowerPoint PPT presentation

Number of Views:222
Avg rating:3.0/5.0
Slides: 154
Provided by: Ulrich53
Category:

less

Transcript and Presenter's Notes

Title: Interoperabilidade


1
Interoperabilidade
  • Ulrich Schiel
  • ulrich_at_dsc.ufcg.edu.br

(C) COPIN - Coordenação de Pós-Graduação em
Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE
2
Roteiro
  • Bibliografia
  • Histórico
  • Arquiteturas de distribuição
  • Data Warehouses
  • Heterogenidade
  • Conceitos de distribuição
  • Transparência
  • Extração e integração
  • Processamento de consultas
  • Controle de Concorrência
  • Data Warehouse-criação e atualização
  • Seminários
  • Projeto

3
BIBLIOGRAFIA
O. Bukhres A. Elmagarmid (eds.) Object Oriented
Multidatabase Systems, Prentice-Hall, (1996)
(capítulos 1-9) SISTEMAS Pegasus (HP),
VODAK/KODIM (GMD-IPSI), OIS/CIS(ESPRIT-Bertino),
, EIS/XAIT (Xerox), DOMS (GTE-LabsBuchman,
Ozsu, Brodie), Carnot (MCC-Woelk), Thor
(MIT-Liskov), FBASE (Purdue-Mullen), InterBase
(Purdue-Bukhres), A La Carte (U.o.Colorado,
HKBMS (Florida-Su) IRO-DB (ESPRIT-Versailles,
GMD,)(Caps.10-20)
M.T. Özsu, P. Valduriez Princípios de Bancos de
Dados Distribuidos 2ª Edição, Campus
(2001) (Capítulo 4-Arquiteturas DDBMS Cap. 15
Interoperabilidade)
M.T. Özsu, U. Dayal P. Valduriez (eds.)
Distributed Object Management, Morgan Kaufmann
(1994) (Part 6. Interoperability - PP. 304-398
4
BIBLIOGRAFIA
W. Kim (ed.) Modern Database Systems, Addison
Wesley (1995) Part II - Interoperating
Legacy Systems - Cap. 25-29 SISTEMAS -
UniSQL/M, EDA/SQL, Pegasus, ADDS(Cap. 30-33)
M. Jarke, M. Lenzerini, Y. Vassiliou P.
Vassiliadis Fundamentals of Data Warehouses,
Springer Verlag, 2000 (itens 1.1, 1.2, 1.3,
2.1 e capítulos 3 e 4.1,4.2, 4.3) Os autores
coordenam um projeto ESPRIT, denominado DWQ
SISTEMASCarnot, SIMS, Inf. Manifold, TSIMMIS,
Sqirrel, WHIPS)
H. Garcia-Molina, J. Ullman J. Widom Database
System Implementation, Prentice-Hall, 2000
(capítulo 11 - Information Integration, 11.1 e
11.2)
V. Poe, P. Klauer S. Probst Building a Data
Warehouse for Decision Support -2nd ed.
Prentice-Hall, 1998 (Cap. 8 - Data Integration)
5
BIBLIOGRAFIA - cont.
Cea98 D. Calvanese et.al. Information
Integration conceptual modeling and reasoning
support, Proc. 6th Intl. Conf. on Cooperative
Information Systems -CoopIS, 1998, pp.
280-291BLN86 C. Batini, M. Lenzerini, S.
Navathe A comparative analysis of methodologies
for database schema integration, ACM Comp.
Surveys 18(4), 1986 pp. 323-364 Gea97 H.
Garcia-Molina et.al. The TSIMMIS approach to
mediation data models and languages, J.
Intell. Information Systems 82, 1997,
pp.117-132 HZ96 R. Hull G. Zhou A framework
for supporting data integration using the
materialized and virtual approaches, Proc. of
ACM SIGMOD Conference, 1996, pp.481-492 O 97
R.J. Orli Data extraction, transformation, and
migration tools, Kismet Corp, http//www.kismeta
.com/ex2.com PGW95 Y. Papakonstantinou, H.
Garcia-Molina J. Widom Object exchanges across
heterogeneous information sources, Proc. Intl.
Conf on Data Engineering 1995 pp. 251-260 SL90
A.P. Sheth J.A. Larson Federated Databases for
managing distributed, heterogeneous, and
autonomous databases ACM Computing Surveys 223,
1990, pp.183-236 Tra04 R. Traunmüller (ed.)
Third Intl. Conf EGOV 2004, LNCS 3183, Zaragoza
2004
6
Seminários / Projetos
  • Temas para seminários
  • Projetos especificação da integração de
    fontes heterogêneas em
  • F-Logic / FLORA
  • Description Logic
  • Z

7
HISTÓRICO

1. Dados independentes
  • problemas de redundância
  • problemas de inconsistência
  • novas tecnologias (mainframes,..)

2. Dados Integrados
8
HISTÓRICO

2. Dados Integrados
  • questões gerenciais
  • questões políticas
  • novas tecnologias (micros, comunicação,
    internet)

3. Dados distribuídos
9
HISTÓRICO
3. Dados distribuídos
  • heterogeneidade
  • necessidades gerenciais e estratégicas
  • (históricos, agregados,.)
  • assincronismo operacional X gerencial

4. Dados operacionais distribuídos e
gerenciais centralizados
10
SISTEMAS DISTRIBUIDOS
Usuário global
Usuário local
11
BANCOS DE DADOS DISTRIBUÍDOS
  • Banco de Dados Distribuído homogêneo
  • Banco de Dados Distribuído heterogêneo Banco
    de Dados Federado Multibanco de Dados
  • Data Warehouse

PROJETO TOP-DOWN
PROJETO BOTTOM-UP
12
MULTIBANCOS DE DADOS
Integrado (não-federado) (sem autonomia local)
Fracamente acoplado (sem esq. Global)
Federação simples
MDBS
federado
Fortemente acoplado (com esq. Global)
Federação múltipla
13
ACESSO AOS DADOS
  • Com esquema global
  • Sem esquema global
  • Com dados globais
  • Sem dados globais

14
ARQUITETURAS DE DISTRIBUIÇÃO
  • Aspectos
  • Autonomia
  • 0 integração total
  • 1 autonomia parcial
  • 2 isolamento total
  • Distribuição
  • 0 centralizado
  • 1 sistemas cliente/servidor
  • 2 sistemas peer-to-peer
  • Heterogeneidade
  • 0 homogêneo
  • 1 heterogêneo

15
ARQUITETURAS DE DISTRIBUIÇÃO
  • Combinações
  • (A0,D0,H0) sistemas compostos
  • (A0,D0,H1) sistemas heterogêneos
  • (A0,D1,H0) sistema Cliente/servidor
  • (A0,D2,H0) sistemas distribuídos peer-to-peer
  • (A1,D0,H0) federação centralizada de SGBDs
    específicos
  • (A1,D0,H1) SGBD federado heterogêneo
  • (A1,D1,H1) SGBD federado distribuído
    heterogêneo
  • (A2,D0,H0) Multidatabase homogêneo
  • (A2,D0,H1) Multidabase federado heterogêneo
  • (A2,D1,H1)(A2,D2,H1) Multidabase Distribuído

16
ARQUITETURAS DE DISTRIBUIÇÃO
  • Resumindo temos
  • (Ax,D1,Hy) sistemas cliente-servidor
  • (A0,D2,Hy) Bancos de Dados Distribuídos
  • (A2,Dx,Hy) Multidatabase Systems

17
ARQUITETURAS DE DISTRIBUIÇÃO
  • Formas de acesso a fontes heterogêneas
  • Migrar todos os dados para o local da consulta
    (ex. IMS-EXTRACT P/ SQL/DS, DB2,
    Data Warehousing)
  • Gateways dois-a-dois (ex. INGRES-DB2
    ORACLE-IMS)
  • Federação de SGBDs (MDBS) baseado em um
    esquema global

18
ARQUITETURAS DE DISTRIBUIÇÃO
Características de um MDBS
  • BD global completo (atualização esquema e dados,
    consultas ad-hoc, integridade, autorização,
    etc.
  • necessidades de conversões e migração de uma
    fonte para a outra
  • acesso global único
  • autonomia local
  • sem efeitos colaterais locais
  • acesso local independente
  • performance comparável aos BDDs homogêneos
  • transparência da heterogeneidade
  • transações distribuidas

19
ARQUITETURAS DE DISTRIBUIÇÃO
SGBD global consultas Controle de globais
concorr. Glob.
MULTIDATABASE
Esquema global
Esquema global dos dados locais
Esquema global dos dados locais
conversão
conversão
SGBD local esquema Dados local locais.
SGBD local esquema Dados local locais.
20
PROCESSAMENTODE CONSULTASGLOBAIS
Interface global.
Definir consulta global
Decompor consulta global
Distribuir sub-consultas global
Traduzir sub-consulta para modelo local
Traduzir sub-consulta para modelo local
SGBD local
SGBD local
21
Data Warehouse no contexto MDBS
Data Warehouse
Object Data Store ODS
Consultas programadas
Agregação
MDBS
22
Data Warehouse arquit. tradicional
GIS
OLAP
DSS
clientes
Data mart
Data mart
Data Warehouse
Meta-BD
Mediator
wrappers
Texto
BD
Dados externos
fontes
23
Data Warehouse 3 perspectivas
CONCEITUAL
LÓGICA
FÍSICA
Dados cliente
OLAP
Esquema do cliente
Modelo do cliente
conversão
agregação
Modelo da empresa
Dados DW
Esquema do DW
conversão
OLTP
wrapper
Modelo operacional
Dados fonte
Esquema fonte
24
HETEROGENEIDADE
  • hardware
  • sistema operacional
  • modelo de dados
  • SGBD
  • formato dos dados

25
Conceitos
  • Distribuição de bases de dados entre ambientes
    distintos
  • Geografia
  • Interligação de ambientes através de protocolos
    de rede

26
Conceitos
  • Em cada um dos nós o software do SGBDD consiste
    minimamente do que se segue
  • Um sistema operacional local.
  • O gerenciador de comunicação, que permite a
    troca mútua de informação entre programas
    remotos.
  • Um Sistema de Gerência de Banco de Dados (SGBD)
    para atender aos usuários locais.

27
Conceitos
  • O MDBS possui um ou vários catálogos globais
  • Atender usuários globais
  • Determinar quais nós precisam ser acessados para
    atender uma consulta particular
  • Integrar os resultados da consulta
  • Realizar otimização de consultas globais
  • garantir controle de concorrência global

28
Conceito
  • Sistema Multidatabase deve prover também
  • Gerência de transações globais
  • Atomicidade, confiabilidade, isolamento e
    durabilidade das transações.
  • Funções Administrativas
  • Autorização, autenticação, definição de
    restrições de integridade e gerência do
    dicionário de dados.
  • Heterogeneidade
  • Diferenças de Hardware, Sistema Operacional,
    canais de comunicação, sistema de gerência de
    dados e modelos de dados.

29
Vantagens de Distribuição de Dados
  • Associar autonomia local com usuários globais.
  • Confiabilidade e Disponibilidade
  • Se um nó falhar em um sistema distribuído, os
    nós remanescentes podem ser capazes de continuar
    operando.
  • Replicação aumenta a disponibilidade.

30
Vantagens de Distribuição de Dados
  • Aceleração no Processamento de Consultas
  • Se uma consulta envolve dados em diversos nós, é
    possível dividi-la em subconsultas que podem ser
    executadas em paralelo.

31
Desvantagens de Distribuição de Dados
  •    Custo de desenvolvimento de software
  • É mais difícil e mais caro.  
  • Maior Potencial para erro
  • O potencial existe para erros extremamente
    sutis
  •  Aumento de overhead de processamento
  • A troca de mensagens e a computação adicional
    exigida para se conseguir coordenação interlocal.

32
Reprodução de Dados
  • O sistema mantém diversas réplicas idênticas
    (cópias) de uma relação em nós diferentes
  • Aumenta o desempenho de operações read e a
    disponibilidade de dados
  • Transações de atualização ficam sujeitas a
    baixos desempenhos
  • Controle de concorrência mais difícil

33
Fragmentação de Dados
  • Uma relação r é dividida em fragmentos
    armazenados em nós distintos
  • Tipos de fragmentação
  • Fragmentação Horizontal divide a relação
    designando cada tupla de r para um ou mais
    fragmentos. Recuperação por união.
  • Fragmentação Vertical divide a relação
    decompondo o esquema R da relação r. Recuperação
    por junção.
  • Fragmentação Mista aplicação das duas
    fragmentações anteriores
  • Reconstrução operação união ou junção

34
Sistemas Orientados a Objetos
  • Cada fragmento é uma subclasse
  • Tipos de fragmentação
  • Fragmentação Horizontal pode ser
  • primária ( relacional) ou cada sublcasse em um
    site ou
  • Secundária baseada em um atributo complexo ou
    relacionamento
  • Secundária baseada em métodos complexos.
  • Fragmentação Vertical discutível, pois quebra o
    encapsulamento. Gera subclasses unidas por
    agregação
  • Fragmentação Mista aplicação das duas
    fragmentações anteriores
  • Acesso a partes de objetos complexos

35
Sistemas Orientados a Objetos
  • Replicação objetos, atributos, métodos
  • Alocação de objetos
  • Comportamento local-objeto local
  • Comportamento local-objeto remoto
  • Comportamento remoto-objeto local
  • Comportamento remoto-objeto remoto
  • Gerenciamento dos OIDs
  • Ponteiros e caminhos
  • Migração de objetos (manter placeholders) Objeto
    pode estar
  • pronto (pode migrar),
  • ativo ou
  • esperando

36
TRANSPARÊNCIA
Separa semântica de alto nível da Implementação
de baixo nível
  • dados (EE x EC)
  • distribuição
  • replicação
  • fragmentação

Tipos ÖzsuValduriez
37
Transparência e Autonomia
  • No esquema global local
  • Dois nós não devem usar o mesmo nome para itens
    de dados distintos
  • Dicionário de dados central
  • Cada nó pode prefixar seu próprio identificador
    para qualquer nome que ele gerar

38
Transparência e Autonomia
  • Transparência de Localização
  • Criar um conjunto de nomes alternativos ou
    aliases para cada local
  • Atualização
  • Assegurar que todas as réplicas de um item de
    dado e todos os fragmentos afetados sejam
    atualizados
  • Relacionado ao problema de atualização de
    visões.

39
Topologia de rede
  • Formas de conexão
  • rede totalmente conectada, parcialmente
    conectada, rede com estruturada em árvore,
    estrela e anel
  • Considerações
  • custos de instalação e comunicação.
  • Confiabilidade a freqüência com que uma ligação
    ou nó falha.
  • Disponibilidade O grau em que os dados podem ser
    acessados apesar da falha de alguns elos ou nós.

40
Integração
FORMAS
esquemas fonte
Esquema global
1. Integração de esquemas
dados fonte
Especificação de acessos globais
2. Integração virtual dos dados
dados fonte
Visões materializadas
2. Integração materializada
41
Integração
1. Integração de esquemas
ETAPAS
  • pré-integraçãoanálise dos esquemas fonte ?
    estratégia de integraçãotécnicas Description
    Logic ou BC de terminologia
  • comparação de esquemassolução de conflitos-
    heterogeneidade (de modelo de dados)- conflitos
    de nomes (homônimos, sinônimos)- conflitos
    semânticos (níveis de abstração)- conflitos
    estruturais (representação distinta de conceitos)

42
Integração
1. Integração de esquemas
ETAPAS
  • homogenização de esquemas - manutenção da
    capacidade de informação - manutenção da
    semântica de atualizações
  • integração de esquemas (schema merging)
    sobreposição de esquemas deve garantir
    completude, corretude,
    minimalidade e usabilidade

43
Integração
1. Integração virtual dos dados
Semelhante às visões em bancos de dados
convencionais. As visões são a base para
formulação de consultas
44
Integração
1. Integração virtual dos dados
  • Existe uma visão global ou não
  • Quais os passos metodológicos (decomposição,
    transporte, reconstrução)
  • Qual o formalismo de descrição dos dados
    (arquivos, legados, RDB, ORDB, não-estruturados,
    ..)
  • Linguagem para consultas globais
  • critérios de casamento dos dados (baseados
    em chave, em tabela look-up, comparações, ..
  • Qualidade dos dados (interpretabilidade,
    credibilidade, ..

QUESTÕES
45
Integração
1. Integração virtual dos dados
SISTEMAS
  • Carnot (MCC) - Collete, Huhns - esquemas
    locais determinam uma ontologia global
    descrita em GCL - Global Context Language -
    transformações baseadas em axiomas de
    articulação - consultas e atualizações são
    transformadas em GCL

46
Integração
1. Integração virtual dos dados
SISTEMAS
  • SIMS (Arens) - múltiplas fontes de dados - a
    partir de um modelo do domínio da aplicação
    as fontes são descritas neste modelo -
    consultas são distribuídas dinamicamente

47
Integração
1. Integração virtual dos dados
SISTEMAS
  • UniSQL (DAndrea, Janus)
  • - SGBD OR
  • - Extensão SQL/M para definir visões virtuais

Albert D'Andrea , Phil Janus UniSQL's
next-generation object-relational database
management system, ACM SIGMOD Record , Volume 25
,  Issue 3  (September 1996
48
Integração
1. Integração virtual dos dados
SISTEMAS
  • Information Manifold (ATT) - múltiplas fontes
    de dados - componentes visão do mundo e
    descrição das fontes de
    informação - usa Description Logic para os
    componentes e regras para otimização de
    consultas
  • Consultas em Datalog

T. Kirk, A. Y. Levy, Y. Sagiv, and D. Srivastava.
The Information Manifold. In Proc. of the AAAI
Spring Symposium on Information Gathering in
Distributed Heterogeneous Environments,
49
Integração
1. Integração virtual dos dados
SISTEMAS
  • TSIMMIS (Stanford) - múltiplas fontes de
    dados - um mediator é uma visão das fontes de
    informação integradas e processadas - usa
    o OEM - Object Exchange Model - Descrição do
    mediator por uma linguagem lógica MSL
    Datalog OEM - não há integração global.
    Cada mediator atende às consultas a uma certa
    visão

50
Integração
1. Integração materializada dos dados
QUESTÕES
  • as mesmas da integração virtual
  • quais dados são materializados
  • níveis da participação das fontes (suficiente,
    restrita, não-ativa)
  • estratégias de manutenção (incremento local,
    baseado em polling, refrescamento completo)
  • timing (imediato, periódico)

51
Integração
1. Integração materializada dos dados
SISTEMAS
  • Sqirrel (Zhou, Hull) - baseado em um
    integration mediator com múltiplas fontes -
    geração automática de novos integradores
    especificados pela ISL - Integration
    Specification Language - ISL especifica
    esquema local, critérios de casamento de objetos
    entre classes. Diversos critérios de
    casamento de OIDs

R. Hull and G. Zhou, "A Framework for Supporting
Data Integration Using the Materialized and
Virtual Approaches,", Proceedings of SIGMOD, June
1996, Montreal, Canada, pgs. 481-492
52
Integração
1. Integração materializada dos dados
SISTEMAS
  • WHIPS (Garcia-Molina) - módulos implementados
    como objetos CORBA - visões criadas por
    expressões SQL -

Janet L. Wiener, Himanshu Gupta, Wilburt Labio,
Yue Zhuge, Hector Garcia-Molina The WHIPS
Prototype for Data Warehouse Creation and
Maintenance. ICDE 1997 589
53
Extração e Integração
Data Mart
OLAP
Customização
Data Warehouse
Data Mart
Agregação
Meta Esquema
ODS
Extração e Integração
OLTP
54
Extração e Integração
WRAPPER, LOADER
Fonte de Informação
DW
MEDIATOR
Carregamento, transformação, limpeza, atualização
Conflitos, incosistências, integração
55
Extração e Integração
  • Bancos de dados (relacionais, OO, OR,
    hierárquicos, rede, outros)

FONTES DE INFORMAÇÃO
  • fontes externas (outras empresas, resultados
    de pesquisas, ...)
  • Arquivos (planilhas, arquivos, textos,
    documentos multimidia)
  • dicionário de dados
  • fluxo de dados
  • transformação dos dados
  • controle de versões dos metadados
  • estatísticas de uso
  • aliases
  • segurança

META- ESQUEMA/ METADADOS
56
Extração e Integração
  • extração (diversas fontes)
  • limpeza (cleaning)
  • transformação (formatos, linguagens,..)
  • carregamento
  • replicação
  • análise (p.ex. valores inválido/inesperados)
  • transferência
  • cheque da qualidade dos dados (completeza,
    duplicidade, granularidade, necessidade, ..)
  • análise dos metadados

TAREFAS
57
Solução de Conflitos
CONFLITOS ESTRUTURAIS
1. Entidade-vs-entidade (a) entidade 1-1
i. nome homônimos e sinônimos ii.
Estrutura falta de atributos, atributos
implícitos iii. restrições de entidade
iv. Inclusão de entidade (generalização) (b)
entidades n-m 2. Atributo-vs-atributo (a)
atributos 1-1 i. nome ii.
Restrições integridade, domínio, composição
iii. Valores default (valores nulos, constantes)
iv. Inclusão de atributos (generalização)
v. métodos
58
Solução de Conflitos
CONFLITOS ESTRUTURAIS
3. Entidade-vs-atributo 4. Relacionamentos
i. nomes ii. Cardinalidades 5.
Entidade-vs-atributo-vs-relacionamento 6.
Abstrações generalização, agregação,
agrupamento (a) agregação-vs-relacionamento-v
s-composição 7. Diferentes representações da
mesma informação (a) expressões diferentes
(b) unidades diferentes (c) níveis de
precisão
59
Solução de Conflitos
TÉCNICAS DE SOLUÇÃO DE CONFLITOS
  • Renomear entidades e atributos
  • 2. Homogenizar representações (a) expressões
    diferentes (p.ex. abstrações)
  • (b) unidades diferentes
  • (c) níveis de precisão
  • 3. Homogenizar atributos e relacionamentos
  • (a) valores default
  • (b) cardinalidades
  • 4. Uniões (completar os atributos)
  • 5. Junções verticais (entidades, atributos,
    agregações)
  • 6. Junções mistas
  • 7. Homogenizar métodos

60
Solução de Conflitos
TÉCNICAS DE SOLUÇÃO DE CONFLITOS
Criação de classes virtuais
Sintaxe (linguagem SQL/M do UniSQL)
CREATE VCLASS nome-da-classe-virtual
SIGNATURE lista-de-atributos AS SELECT
lista-de-seleção FROM
lista-de-entidades WHERE
condição SELECT ...
61
Solução de conflitos
EXEMPLO MDBS de quatro universidades.
UNIVERSIDADE-1 (BD relacional)
Est-grad(nome CHAR(25), mat INTEGER, end
CHAR(50),curso CHAR(7)) Curso(cnome CHAR(20),
cnum INTEGER) Disciplina(dnome CHAR(20), dnum
INTEGER, cnum CHAR(7)) Matricula(dnum CHAR(7),
mat INTEGER, cre REAL) Est-pós(nome-e CHAR(25),
mat INTEGER, curso CHAR(20), tese CHAR(50)
aproveitamento CHAR(1))
NOTAÇÃO Classes começam com maiúsculas,
atributos em minúsculas e PALAVRAS-RESERVADAS em
maiúsculas.
62
Exemplo
UNIVERSIDADE-3 (BD OO ou OR)
CLASS Estudante SIGNATURE nomeCHAR(25),
matINTEGER, curso CHAR(20),
creREAL, /métodos/ CLASS Est-pós-graduação
SUPERCLASS Estudante SIGNATURE orientador SET-OF
Professor CLASS Professor SUPERCLASS
Empregado SIGNATURE depto CHAR(25), nível
CHAR(20) CLASS Empregado ... CLASS
Matriculado SIGNATURE cursoCurso, estEstudante,
conceitoREAL
63
Classe virtual
CREATE VCLASS Todos-estudantes SIGNATURE nome
CHAR(25), matricula INTEGER, curso CHAR(20),
cre REAL AS SELECT eg.nome eg.mat c.cnome
eg.cre FROM un1.Est-grad eg,
un1.Matricula m, un1.Curso c WHERE
eg.matm.mat AND c.cnum eg.curso AS INTEGER
SELECT nome-e epg.mat curso
valor(aproveitamento) FROM un1.Est-pós
epg, un1.Matricula m SELECT nome mat curso
cre from un3.Estudante
64
Conflitos - Homogenizar representações
Expressões distintas denotam a mesma informação
CONFLITO diferentes valores escalares denotam a
mesma informação SOLUÇÃO definir um
isomorfismo que cria classes de
equivalência EXEMPLO Dr., PhD ou DSc
denominam o mesmo nível. Conceitos na pós podem
ser A, B, C ou D ou então 1, 2, 3, 4 ou
excelente, bom , regular, ruim. Bach. em C. da
Computação ou Bacharelado em Ciência da
Computação
SELECT nome FROM Todos-estudantes WHERE curso
LIKE Bach em C da Computação
65
Conflitos - Homogenizar representações
Unidades distintas
CONFLITO valores numéricos distintos denotam a
mesma quantidade física SOLUÇÃO definir uma
função de conversão EXEMPLO quilogramas e
libras graus centígrados e graus Farenheit
66
Conflitos - Homogenizar representações
Precisões distintas
CONFLITO valores numéricos expressos em
granularidades distintas SOLUÇÃO converter
para a granularidade menos precisa EXEMPLO
gramas e quilos segundos e minutos
67
Conflitos - Homogenizar atributos
Conflitos de tipos
CONFLITO domínios distintos para atributos
semanticamente equivalentes SOLUÇÃO em muitos
casos é possível converter de um domínio para
outro EXEMPLO INTEGER e CHAR(n) INTEGER e
FLOAT CHAR(n) e CHAR(m)
WHERE eg.matm.mat AND c.cnum eg.curso AS
INTEGER
68
Conflitos - Homogenizar atributos
Conflitos atributo X relacionamento X entidade
CONFLITO o mesmo fato é ora modelado com
atributo ora como relacionamento SOLUÇÃO criar
uma classe virtual e converter o atributo em
relacionamento EXEMPLO em Uni-1 Curso é um
entidade relacionada com Est-grad enquanto em
Uni-3 é um atributo de Estudante
CREATE VCLASS Cursos SIGNATURE nome CHAR(25) AS
SELECT cnome FROM un1.Curso SELECT curso
FROM un3.Estudante
69
Conflitos - Homogenizar atributos
Valores default
Atributos concatenados (e.g. nomeprimeiro nome
sobrenome)
70
Conflitos - Uniões
Tabelas união-compatíveis
SEM CONFLITOS ESTRUTUAIS
SOLUÇÃO fazer a união com o cuidado de não
repetir a mesma entidade e considerar possíveis
restrições
COM CONFLITOS ESTRUTUAIS
CONFLITO uma tabela tem mais atributos SOLUÇÃO
criar atributos fantasma ou eliminar os
atributos a mais
71
Conflitos - Junções
Entidade n-m
CONFLITO as mesmas entidades são espalhadas por
vários locais com atributos distintos SOLUÇÃO
processar junções
72
Conflitos - Métodos
Entidade n-m
CONFLITO métodos distintos realizam a mesma
tarefa SOLUÇÃO analisar os dois métodos e criar
um método genérico que realiza as duas tarefas
73
Conflitos - Navathe Savasere A Schema
Integration Facility using O-O Data Model
Meta-conhecimento para raciocínio aproximado
  • nomes de objetos (variações, parcial,
    abreviações, convenções)
  • nomes de objetos (thesaurus de sinônimos e
    homônimos)
  • tipos e domínios (chaves, valores nulos,
    default)
  • interação com objetos ao redor
  • cardinalidades esperadas de classes e
    relacionamentos
  • atualidade
  • descrições textuais

Ex. OCL Object Constraint Language ou
Organization Communiste Libertáire
74
Conflitos - Navathe et. al.
Casamento (aproximado) de nomes
Casamento (aproximado) de atributos
Casamento (aproximado) de estruturas
Grau de similaridade entre entidades
75
Solução de Conflitos
Generalizar E1 E2
G
E12
E12 E1 ? E2 AE12 AE1 ? AE2
OBS E1 e E2 podem ficar em G ou não
L2
L1
E1
E2
76
Solução de Conflitos
Especializar E1 E2
OBS E1 e E2 podem ficar em G ou não
L1
L2
E1
E2
G
E12 E1 ? E2 AE12 AE1 ? AE2
E12
77
Solução de Conflitos
Subordinar E2 a E1
G
L2
E2 ? E1 AE1 ? AE2
E1
E1
E2
E2
L1
78
Solução de Conflitos
Agregar E1 e E2
G
E12
E12 ? E1 X E2
OBS E1 e E2 podem ficar em G ou não
L2
L1
E1
E2
79
Solução de Conflitos
Agrupar E2 em E1
G
L2
E1 ? P(E2)
E1
E1
E2
E2
L1
80
Solução de Conflitos
E1r12E2 E1r1E2 ? E1r1E2
Combinar r1 e r2
G
r12
E1
E2
L2
L1
r1
r2
E1
E2
E1
E2
81
Solução de Conflitos
r r ? at
Atributo X relacionamento
G
r
E1
A
L2
L1
at
r
E1
E1
A
A
82
Solução de Conflitos
R R ? r
Entidade X relacionamento
G
R
E2
E1
R
L2
L1
E2
r
E1
E1
E2
83
Solução de Conflitos
Entidade X atributo
Agregação X relacionamento
  • SISTEMA
  • O usuário escolhe esquemas locais
  • O sistema sugere regras de integração que
    podem ser aceitas ou não pelo usuário
  • O usuário pode estabelecer suas próprias regras
  • de integração

84
Integração baseada em agentes
FONTE M. Klusch Intelligent Information
Agents, Springer Verlag (1999) 749
referências!
  • TECNOLOGIAS
  • Inteligência Artificial
  • Inteligência Artificial Distribuída
  • Recuperação da Informação
  • Ciências cognitivas
  • Computer Supported Collaborative Work CSCW
  • Interação Homem-Máquina

85
Integração baseada em agentes
CLASSIFICAÇÃO DE AGENTES (FranklinGaesser)
Autônomos computacionais
biológicos robóticos
  • cooperativos
  • não-cooperativos
  • virus
  • aplicativos
  • diversão
  • software
  • vida artificial
  • de informação
  • adaptivos
  • racionais
  • móveis

86
Integração baseada em agentes cooperação
  • cooperativos
  • delegação hierárquica de tarefas
  • contratação simples e complexa
  • negociação descentralizada
  • não-cooperativos

87
Integração baseada em agentes categorias
  • racionais (agem e interagem para melhorar seus
    benefícios)
  • adaptativos (se alteram de acordo com
    estados da rede e do ambiente)
  • móveis
  • (se locomovem autonomamente pela Internet)

88
Agentes de Informação
  • Agentes de Informação Cooperativos
  • Agentes de Informação Racionais (agem e
    interagem para melhorar seus benefícios)
  • Agentes de Informação Adaptativos (se
    alteram de acordo com estados da rede e do
    ambiente)
  • Agentes de Informação Móveis
  • (se locomovem autonomamente pela Internet)

89
Agentes de Informação Cooperativos
  • Sistemas de Informação Cooperativos - CIS

INTERMEDIAÇÃO (BROKERING)
3.Solicitar serviço
2.Solicitar serviço
Requerente
Interme- diário
Servidor
4.Resultado
1.Anunciar serviço
90
Agentes de Informação Cooperativos
  • Sistemas de Informação Cooperativos - CIS

ASSOCIAÇÃO (MATCHMAKING)
Associador
2.Solicitar serviço
1.Anunciar serviço
3.Informar servidor
Requerente
4.Solicitar serviço
Servidor
5.Resultado
91
Agentes de Informação Racionais
Aplicação em comércio eletrônico, govêrno
eletrônico, turismo
  • Interfaces conversacionais e perfis
  • Filtragem colaborativa de informação (agentes
    antecipam necessidades do usuário no contexto de
  • outros usuários)
  • Shopping comparativo (agentes selecionam
    produtos baseado na análise de preços e
    outras condições)
  • Mercados baseados em agentes (leilões,
    múltiplos agentes de informação associando
    clientes e fornecedores)
  • Coalizações

92
Agentes de Informação Adaptativos
ADAPTAÇÃO
Agente simples
Multi-Agentes
  • Estratégia
  • Instrução
  • Exemplo
  • Analogia
  • Descoberta
  • Objetivo
  • habilidades
  • cap. do sistema
  • Decentralização
  • tipo de distribuição
  • comp. concorrente
  • Feedback
  • Supervisão
  • Reforço
  • Auto-organização
  • Interação
  • Agente-agente
  • Agente-humano
  • Ambiente do sistema

93
Agentes de Informação Móveis
  • Padrões
  • Mestre-escravo
  • Itinerário
  • Descoberta de fontes de informação
  • Acesso à estrutura das fontes (memória,
    arquivos, serviços, threads)
  • Agentes heterogêneos

DIA
94
Seminários
  • A uniform framework for integration of
    information from the web
  • by W May G Lausen, Information Systems. 29,
    no. 1, (2004) 59-91
  • Combining schema and instance information for
    integrating heterogeneous data sources, Huimin
    Zhao , Sudha Ram, Data Knowledge Engineering
    61 (2007) 281303
  • An ontology based approach to the integration of
    entityrelationship schemas, Qi He, Tok Wang
    Ling, Data Knowledge Engineering 58 (2006)
    299326
  • How to act on inconsistent news Ignore,
    resolve, or reject, Anthony Hunter, Data
    Knowledge Engineering 57 (2006) 221239
  • Semantic integration in Xyleme a uniform
    tree-based approach, C. Delobel et al. Data
    Knowledge Engineering 44 (2003) 267298
  • Supporting ontological analysis of taxonomic
    relations, C. Welty, N. Guarino, Data
    Knowledge Engineering 39 (2001) 51-74
  • DFD a dialog based integration of concept and
    rule, M. Balban, A. Eyal, Data Knowledge
    Engineering 38 (2001) 301-334

95
Integração - García-Solaco, Saltor, Castellanos
Semantic Heterogeneity in Multidatabase Systems -
uma survey
  • CLASSIFICAÇÃO DE HETEROGENIDADES
  • entre classes (diferenças em extensão, nomes,
    atributos e métodos, domínios (sintático e
    semântico), restrições)
  • entre estruturas (inconsistências de
    generalização/espec., agregação/decomp.,
    dados/metadados, metaclasses
  • entre instâncias (presença/ausência, atributos
    multivalorados, valores nulos, valores
    diferentes nos atributos)

96
Integração - García-Solaco, Saltor, Castellanos
Semantic Heterogeneity in Multidatabase Systems -
uma survey
1. DETECÇÃO DE HETEROGENIDADES
TOOLS SIS-Schema Integration System Honeywell
Testbend MUVIS_Multiuser View Integration
System BERDI-Bellcore Schema Design and
Integration Toolkit MIST of Carnot
CONTRIBUTIONS Theory of Attribute
Equivalence Common Concept Approach Semantic
Unification Approach Maximum Spanning Tree
Appr. Semantic Proximity Proposal Mathematical
Model of Meaning Semantic Abstractions
97
Integração - García-Solaco, Saltor, Castellanos
Semantic Heterogeneity in Multidatabase Systems -
uma survey
2. SOLUÇÃO DE HETEROGENIDADES
TOOLS Multibase Honeywell Testbend MUVIS
BERDI ViewSystem Carnot Pegasus UniSQL/M
CONTRIBUTIONS Superview - Integration
Operators Rule Based Approach Approach that
preserves semantic relativism Semantic
Unification Approach Semantic Abstractions Stru
ctural Integration
98
Integração - Papazoglou, Zahir Tari, Russel
Object-Oriented technology for Interschema and
language Mappings
Baseado em losely coupled architectures. Troca
direta de informações entre as fontes Partially
unified schemas Interação usa um Common Object
Model denominado KOM
99
Integração - Papazoglou, Zahir Tari, Russel
Object-Oriented technology for Interschema and
language Mappings
Object wrapper
Object wrapper
RDB
FDB
Inforrmation Broker
Inforrmation Broker
Client Interface
Server Interface
Client Interface
Server Interface
Control flow
Shared Inf. metadata Thesauri Service desc.
Shared Inf. metadata Thesauri Service desc.
Common Object Model
Data flow
100
Integração - Papazoglou, Zahir Tari, Russel
Object-Oriented technology for Interschema and
language Mappings
O modelo KOM
ODL - Object Definition Layer
FUNCIONAL
OTL - Object Transformation Layer
ORIENTADO A OBJETOS
RELACIONAL
Transformação de estruturas e operações
101
Integração - Bertino Illaramendi The
Integration of Heterogeneous DBMS Approaches
based on the OO Paradigm
  • 1) TRADUÇÃO - características OO
  • enriquecimento semântico
  • tradução operacional
  • correspondência complexa
  • 2) INTEGRAÇÃO - características OO
  • integração operacional
  • vários níveis (esquemas) de integração
  • integração inteligente (detecção de erros na
    correspondência de objetos

102
Integração - Bertino Illaramendi The
Integration of Heterogeneous DBMS Approaches
based on the OO Paradigm
Survey dos sistemas
  • Pegasus
  • CIS - Comandos Integration System
  • OOA
  • Cyc
  • Candide
  • AIMS

103
Integração Domingos Sávio U. Schiel RDF na
interoperabilidade de dados entre domínios
  • Domínios descritos em RDF
  • Comunicação direta entre domínios

104
Processamento de Consultas
EG
Consulta global
Decomposição e otimização global
...
...
CPP1
SC1
CPPm
EGL1
SCn
tradutor
tradutor
resultado
CL1
CLn
...
BD local
BD local
CPP consulta de pós-processamento
105
Processamento de Consultas
DECOMPOSIÇÃO/TRADUÇÃO
1) modificação para atender os EGLs 2)
decomposição em consultas internas e consultas
externas (externas sobre dados intermediários
transmitidos) 3) tradução para esquemas locais
  • Modificação da consulta
  • Tradução da consulta
  • otimização global

PASSOS
106
Processamento de Consultas
  • Modificação da consulta
  • linguagem de consulta global e modelo de dados
    global
  • métodos de integração dos esquemas de
    exportação generalização e outerjoin
  • replicação de dados
  • inconsistências e outras incompatibilidades

Fatores que afetam complexidade
107
Processamento de Consultas
  • Modificação da consulta

tipo(C) atributos de C com os
domínios extensão(C) instâncias de C mundo(C)
objetos do mundo real descritos por C
Dada uma classe C
C generalização(C1,C2) sss tipo(C) tipo(C1)?
tipo(C2) extensão(C) extensão(C1) ?
extensão(C2)
C outerjoin(C1,C2) sss tipo(C) tipo(C1) ?
tipo(C2) extensão(C) equi-outerjoin(C1,C2,
ID) mundo(C) mundo(C1) ? mundo(C2)
OBS. Em caso de diferenças, ajustá-las por
funções de agregação
108
Processamento de Consultas
  • Outerjoin

Emp2(e, nome, nivel) lt1, José, supgt lt3, Cintia,
médgt
Emp1(e, nome, idade) lt1, José, 28gt lt2, Karla, 22gt
Emp1 gtlt Emp2 lt1,José, 28, supgt
Emp1 gtolt Emp2 lt1,José, 28, supgt, lt2,
Karla, 22, gt, lt3, Cintia, , médgt
109
Processamento de Consultas
  • Outerjoin

Emp2(e, nome, sal, nivel) lt1, José, 120.-,
supgt lt3, Cintia, ?, médgt
Emp1(e, nome, sal, idade) lt1, José, 300.-,
28gt lt2, Karla, 450,-, 22gt
Emp1 gtolt Emp2 (sum(sal)) lt1,José, 28, 450.-,
supgt, lt2, Karla, 22, 450.-, ?gt, lt3,
Cintia, ?, ??, médgt
110
Processamento de Consultas
  • Modificação da consulta

EXEMPLO
Emp1(e, nome, salario, idade) - esquema
exportação-local 1 Emp2(e, nome, salario, nivel)
- esquema exportação-local 2
EmpG(e, nome, salario) - esquema
generalização EmpG.nome Emp1.nome se EmpG está
em mundo(Emp1) Emp2.nome
se EmpG caso contrário EmpG.salario
Emp1.salário se EmpG está em
mundo(Emp1) - mundo(Emp2)
Emp1.salarioEmp2.salario se EmpG está
em mundo(Emp1) ?
mundo(Emp2) . . .
111
Processamento de Consultas
  • Modificação da consulta

EXEMPLO
EmpOJ(e, nome, salario, idade, nivel) - esquema
outerjoin
EmpOJ.idade Emp1.idade se EmpOL está em
mundo(Emp1) nulo
se EmpOJ está em
mundo(Emp2) - mundo(Emp1) EmpOJ.nive
l Emp2.nivel se EmpOJ está em mundo(Emp2)
nulo se EmpOJ está em
mundo(Emp1) - mundo(Emp2)
112
Processamento de Consultas
EmpOJ(e, nome, salario, idade, nivel)
SEJA A CONSULTA
SELECT EmpOJ.nome, EmpOJ.nivel FROM EmpOJ WHERE
EmpOJ.salario gt 2000 AND EmpOJ.idade 49
A tabela EmpOJ é dividida em três
partições mundo(Emp2)-mundo(Emp1) mundo(Emp1)-
mundo(Emp2) mundo(Emp2) ? mundo(Emp1)
113
Processamento de Consultas
Para o mundo(Emp2)-mundo(Emp1) o atributo idade é
nulo
Para o mundo(Emp1)-mundo(Emp2) teremos SELECT
Emp1.nome FROM Emp1 WHERE Emp1.salario gt 2000
AND Emp1.idade 49 AND Emp1.e NOT IN (SELECT
Emp2.e FROM Emp2)
Para o mundo(Emp2) ? mundo(Emp1) teremos SELECT
Emp1.nome, Emp2.nivel FROM Emp1, Emp2 WHERE
sum(Emp1.salario, Emp2.salario) gt 2000 AND
Emp1.idade 49 AND Emp1.e Emp2.e
Uma consulta de pós-processamento irá produzir o
resultado final
114
Processamento de Consultas
  • Tradução da consulta

ALGORITMOS CONVENCIONAIS
A qualidade da tradução irá depender do poder
expressivo da linguagem local
  • Uma única consulta local
  • otimização local

CASOS
  • Várias consultas locais.
  • Definir consultas locais de forma a otimizar
    a performance
  • otimização local

115
Processamento de Consultas
  • Otimização global da consulta

VOLTEMOS AO EXEMPLO
Para o mundo(Emp2) ? mundo(Emp1) temos SELECT
Emp1.nome, Emp2.nivel FROM Emp1, Emp2 WHERE
sum(Emp1.salario, Emp2.salario) gt 2000 AND
Emp1.idade 49 AND Emp1.e Emp2.e
116
Processamento de Consultas
  • Otimização global da consulta

POSSIBILIDADES
SELECT
SELECT
Emp1
Result1 Emp2
SELECT
SELECT
Emp2
Result2 Emp1
SELECT
Emp1
Result1 Result2
SELECT
SELECT
Emp2
117
Processamento de Consultas
  • Otimização global da consulta
  • Algoritmos de BDDs homogêneos podem ser
    aplicados, se
  • não houver inconsistências
  • facilidades de transmissão de dados
  • estatísticas locais comparáveis entre si

Árvores de junção linear fechada
118
Processamento de Consultas
  • Otimização global da consulta

Solução de inconsistências - funções de agregação
Seja C global e C1, C2 uma partição
horizontal. A operação CA op a C1A op a
int-op C2A op a
usa outerunion C1 OJ C2 C1-O OU C2-O OU
(C1-C J C2-C)
parte comum
parte privada
119
Processamento de Consultas
  • Otimização global da consulta

Otimização com funções de agregação f(a1,a2)
Para os outros casos nenhuma otimização é
possível (4)
f(a1,a2)
op
min min max max sum sum
f(a1,a2)op a ? a1 op a AND a2 op a
(1) f(a1,a2)op a ? f(a1 op1 a, a2 op2 a) op a
(2) f(a1,a2)op a ? a1 op a AND a2 op a
(1) f(a1,a2)op a ? f(a1 op1 a, a2 op2 a) op a
(2) f(a1,a2)op a ? f(a1 op a, a2 op a) op a
(3) f(a1,a2)op a ? f(a1 op1 a, a2 op2 a) op a (2)
lt gt lt
120
Processamento de Consultas
a1E1.sal 500
a2E2.sal 600
sal 600
f(a1,a2)
op
min(E1.sal,E2.sal)gt 600 ? E1.sal gt 600 AND E2.sal
gt 600 (1) min(E1.sal, E2.sal) 550 ?
min(a1lt600, a2lt600) 600 (2) max(a1,a2)lt a ?
a1 lt 600 AND a2 lt 600
(1) max(a1,a2) a ? max(a1 gt 600, a2 gt 600)
600 (2) sum(a1,a2)lt a ?
sum(a1gt600, a2gt600) lt 600
(3) sum(a1,a2) a ? sum(sum(a1) gt 600, sum(a2) gt
600) 600 (2)
min min max max sum sum
gt lt lt lt
  1. processamento em todos locais
  2. processamento em um local pode resolver
  3. processamento local e global

121
Controle de Concorrência
TIPOS DE TRANSAÇÕES
  • Transações locais
  • Transações globais

AUTONOMIA LOCAL
  • Autonomia de projeto
  • Autonomia de execução
  • Autonomia de comunicação

122
Controle de Concorrência
MDBS
  • locais (s1,...,sm),
  • Operações básicas
  • r (read), w (write), c (commit), a (abort)
  • GTG (Gerente de Transações Globais)
  • SGBD local
  • Server (ligação entre GTG e SGBD local)

123
Controle de Concorrência
MDBS
Ti
GTG
Tj
Server
Server
Tl
Tl
SGBD
SGBD
124
Controle de Concorrência
MDBS - Interface Server/SGBD
POSSIBILIDADES
  • O SGBD aceita operações individuais begin,
    op.1, op.n, commit
  • O SGBD aceita serviços na forma de transações
    locais

125
Controle de Concorrência
PROBLEMAS
  • Serializabilidade global
  • Atomicidade e recuperação
  • Deadlock

126
Controle de Concorrência
  • Serializabilidade global

Transações globais T1 r1(a) r1(c) T2
r2(b) r2(d) locais T3 w3(a) w3(b) em s1 T4
w4(c) w4(d) em s2
Local s1 com a, b Local s2 com c, d
Visão global T1 ,T2
Schedules locais S1 r1(a) w3(a) w3(b)
r2(b) ? T1 , T3 , T2 S2 w4(c) r1(c)
r2(d) w4(d) ? r2(d) w4(c) w4(d) r1(c) ? T2 ,
T4 , T1
?
127
Controle de Concorrência
  • Atomicidade global e recuperação

Transações global T1 r1(a) w1(a) w1(c) local
T2 r2(a) w2(a) em s1
Local s1 com a Local s2 com c
Execução T1 completa suas 3 ações e manda
commit para s1 e s2 s2 recebe e confirma
o commit, mas s1 aborta a subtransação
original antes do commit T2 é executada e
realiza commit GTG resubmete w1(a)
s1 considera isto uma nova transação
RESULTADOschedule não serializavel r1(a) r2(a)
w2(a) w1(a)
128
Controle de Concorrência
  • Atomicidade global e recuperação

SOLUÇÃO
Prepare-to-commit ? reduz heterogenidade
129
Controle de Concorrência
  • Deadlock global

Transações globais T1 r1(a) r1(d) T2
r2(c) r2(b) locais T3 w3(b) w3(a) em s1 T4
w4(d) w4(c) em s2
Local s1 com a, b Local s2 com c, d
Execução T1 executou r1(a) e T2 executou r2(c)
T3 executa w3(b) e submete w3(a) e espera
liberação de T1 T4 executa w4(d) e submete
w4(c) que espera por T2 T1 e T2 submetem
seus restos e o deadlock ocorre Nem os locais
nem o global conseguem detectar este deadlock
130
Controle de Concorrência
  • Serializabilidade global

Transações globais T1 r1(a) r1(c) T2
r2(b) r2(d) locais T3 w3(a) w3(b) em s1
T4 w4(c) w4(d) em s2
Local s1 com a, b Local s2 com c, d
Visão global T1 ,T2
SOLUÇÕES
  • evitar transações T1 ,T2 que atuam no mesmo
    local
  • ? provocar conflito artificial
  • identificar schedules como S2 e evita-los

131
Controle de Concorrência
  • Serializabilidade global

Transações globais T1 r1(a) r1(c)
T2 r2(b) r2(d) locais T3 w3(a) w3(b) em s1
T4 w4(c) w4(d) em s2
Local s1 com a, b Local s2 com c, d
w1(t)
r2(t)
, t
Provocar conflito entre T1 ,T2 com um ticket
Visão global T1 ,T2
Schedules locais S1 r1(a) w3(a) w3(b)
r2(b) ? T1 , T3 , T2 S2 w4(c)
r1(c) r2(d) w4(d) não é serializável ?
r2(d) w4(c) w4(d) r1(c) ? T2 , T4 , T1
r2(t)
w1(t)
132
Controle de Concorrência
  • Serializabilidade global - SGBDs com 2PL rigoroso

Transações globais T1 r1(a) r1(c) T2
r2(b) r2(d) locais T3 w3(a) w3(b) em s1 T4
w4(c) w4(d) em s2
Local s1 com a, b Local s2 com c, d
Visão global T1 ,T2
Schedules locais S1 r1(a) w3(a) w3(b)
r2(b) ? T1 , T3 , T2 S2 w4(c) r1(c)
r2(d) w4(d) não ocorre, pois c é bloqueado até
o final de T4
133
Controle de Concorrência
  • Atomicidade global e recuperação

Falha de subtransação global
PROBLEMA
TIPOS DE TRANSAÇÕES
  • com redo (operações de write são repetidas)
  • com retry (toda subtransação é repetida)
  • com compensação (compensação desfaz ação
  • da transação original)

134
Controle de Concorrência
  • Atomicidade global e recuperação

135
Controle de Concorrência
  • Outros conceitos em
  • ÖzsuValduriez-Princípos de Bancos de Dados
    Distrtibuídos

CONTROLE DE CONCORRÊNCIA
  • Bloqueio centralizado, cópia primária e
    distribuído
  • Pessimista bloqueio e timestamp ordering
  • Otimista bloqueio, timestamp ordering, híbrido
  • Deadlock prevenção, anulação, detecção e
    resolução

CONTROLE DE CONCORRÊNCIA RELAXADO OU ANINHADO
136
Data Warehousing - Alimentação
Projeto do Data Warehouse - FASES
  • PROJETO definição de visões, extratores,
    revisores, integradores.
  • ALIMENTAÇÃO carga inicial. Passos
    preparação (Logs, deltas, histories),
    integração (ODS),
    agregação (CDW),
    customização (Datamarts)
  • ATUALIZAÇÃO como alimentação, só que o ODS
    é atualizado e alterações são propagadas

137
- FIGURA 4.1-
138
Data Warehousing - Atualização
Considerações
  • requisitos da aplicação (e.g. atualidade e
    precisão dos dados, tempo de computação de
    consultas)
  • restrições da fonte (disponibilidade, frequência
    de alterações)
  • limites do Data Warehouse (espaço, funcionais)

139
Data Warehousing - Atualização
ODS - Object Data Store - atualização
  • atualização imediata - Banco com lançamentos
    locais e saldo global)
  • atual - ODS com estatísticas semanais de
    lançamentos locais e atualização
    horária)
  • periódica (assíncrona) - resultados diários,
    após n lançamentos, sob demanda (saldo,
    lançamentos, ..)

Semelhante para o Data Warehouse
140
Data Warehousing - Atualização
CDW - Data Warehouse - atualização
PROBLEMAS CRÍTICOS
  • volume muito grande de dados - de GB a TB
  • sobrecarga transacional - transações de carga e
    acesso pesadas GB/hora, processamento paralelo,
    transferência compactada
  • concorrência entre atualização e consulta
    divisão do tempo entre batch e on-line difícil,
    conflitos

141
Data Warehousing - Atualização
Customização
AGREGAÇÃO
Propagação
INTEGRAÇÃO
Integração
Histórico
PREPARAÇÃO
Extração
Histórico
Limpeza
Temporal/ externo
142
Data Warehousing - Atualização
  • detectar alterações
  • extrair alterações
  • registrar alterações
  • isolar alterações cedo reduz drasticamente
    massas de dados
  • integração incremental (limpeza)
  • QUESTÕES AO ODS
  • processar dados que alteram o DW
  • prever informações de outras fontes, antes da
    atualização
  • estimar tempo da preparação
  • estimar tempo de atualização do DW

143
Data Warehousing - Extração
arquivos
snapshot
não-cooperativas
logadas
BDs, e-mails
específicas
legados
consultáveis
BDs relacionais
FONTES
BDs c/ replicação
replicadas
BDs c/triggers externos
cooperativas
callback
ativas
BDs c/triggers e delta tables
Ações internas
144
Data Warehousing - Limpeza
Dados devem ser precisos, relevantes,
consistentes e completos
  • diferença de formato
  • dados relevantes escondidos em textos
  • mal-entendidos (atributo nome de que?)
  • erros de digitação ? inconsistências
  • falta de valores
  • informação duplicada

DADOS SUJOS
145
Data Warehousing - Limpeza
módulos de limpeza
  • conversão e normalização transformação de
    formatos heterogêneos
  • limpeza específica arquivos textuais, uso de
    dicionários
  • limpeza independente do domínio algoritmos de
    casamento de campos
  • limpeza baseada em regras regras específicas de
    casamento (business rules)

146
Data Warehousing - Limpeza
  • conversão e normalização transformação de
    formatos heterogêneos

Arquivos ? Oracle
SQLLoader
Wrappers
Dados fonte ? Data Warehouse
  • Exemplos
  • textos sem acentuação
  • formato do datas

NORMALIZAÇÃO
147
Data Warehousing - Limpeza
  • limpeza específica arquivos textuais, uso de
    dicionários
  • normalização de nomes próprios
  • nome farmaceuticos
  • normalização postal

EXEMPLOS PostalSoftACE SSA(Search Soft
America) PostalSoft Library and
Mailers Carletons Pure Integrator (DW) ETI
Data Cleanse

148
Data Warehousing - Limpeza
  • limpeza independente do domínio algoritmos de
    casamento de campos

PROBLEMA o mesmo valor descrito de forma distinta
  • junções aproximadas
  • valores alternativos
  • graus de casamento
  • Carltons Pure Integrator
  • casamento com chaves
  • casamento sem chaves (fuzzy)

149
Data Warehousing - Limpeza
  • limpeza baseada em regras regras específicas de
    casamento (business rules)
  • MERGE/PURGE Problem
  • criação de chaves analisando os dados das fontes
  • ordenar fontes segundo estas chaves
  • intercalar registros (funções distância)

150
Data Warehousing - Limpeza
  • limpeza baseada em regras regras específicas de
    casamento (business rules)

for(all tuples) boolean similar-nome
compare(nome1, nome2) boolean similar-end
compare(end1,end2) boolean similar-cidade
mesma-cidade(cid1, cid2) boolean
similar-cep mesmo-cep(cid1, cid2)
similar-end (similar-cidade ? similar-cep)
if (similar-nome similar-end) merge-tuples(pes
soa1, pessoa2)
Regras explícitas
151
Data Warehousing - Limpeza
  • limpeza baseada em regras

Regras geradas automaticamente (baseadas em data
mining)
ABC WHERE A p-total, Bquant.
Cp-unit Rules accuracy level 0.99 rule exists
in 1890 records
regras matemáticas
IF Cliente IS UFCG AND item IS
Informática THEN VendedorChico Rules
probability 0.95 rule exists in 102 records
regras IF-THEN
152
Data Warehousing - Limpeza
o estudo das semânticas de limpeza e
estratégias de atualização de um DW a partir de
diversas fontes é uma área aberta de pesquisa
153
FIM
Write a Comment
User Comments (0)
About PowerShow.com