interoperabilidade ulrich schiel [email protected] (c) copin - coordenação de...
TRANSCRIPT
![Page 1: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/1.jpg)
Interoperabilidade
Ulrich [email protected]
(C) COPIN - Coordenação de Pós-Graduação em InformáticaUNIVERSIDADE FEDERAL DE CAMPINA GRANDE
![Page 2: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/2.jpg)
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
![Page 3: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/3.jpg)
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-Labs:Buchman, 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, U. Dayal & P. Valduriez (eds.) Distributed Object Management, Morgan Kaufmann (1994)(Part 6. Interoperability - PP. 304-398
M.T. Özsu, & P. ValduriezPrincípios de Bancos de Dados Distribuidos – 2ª Edição, Campus (2001)
(Capítulo 4-Arquiteturas DDBMS; Cap. 15 – Interoperabilidade)
![Page 4: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/4.jpg)
BIBLIOGRAFIA
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 SISTEMAS:Carnot, SIMS, Inf. Manifold, TSIMMIS, Sqirrel, WHIPS)
V. Poe, P. Klauer & S. Probst Building a Data Warehouse for Decision Support -2nd ed. Prentice-Hall, 1998
(Cap. 8 - Data Integration)
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)
H. Garcia-Molina, J. Ullman & J. Widom Database System Implementation, Prentice-Hall, 2000
(capítulo 11 - Information Integration, §11.1 e 11.2)
![Page 5: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/5.jpg)
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-
291
[BLN86] 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 8:2, 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 22:3, 1990, pp.183-236
[Tra04] R. Traunmüller (ed.) Third Intl. Conf EGOV 2004, LNCS 3183, Zaragoza 2004
![Page 6: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/6.jpg)
Seminários / Projetos
Temas para seminários:• • • Projetos – especificação da integração de fontes heterogêneas em:• F-Logic / FLORA• Description Logic• Z
![Page 7: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/7.jpg)
HISTÓRICO
1. Dados independentes
2. Dados Integrados
• problemas de redundância• problemas de inconsistência
• novas tecnologias (mainframes,..)
![Page 8: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/8.jpg)
HISTÓRICO
3. Dados distribuídos
• questões gerenciais• questões políticas• novas tecnologias (micros, comunicação, internet)
2. Dados Integrados
![Page 9: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/9.jpg)
HISTÓRICO
4. Dados operacionais distribuídos e gerenciais centralizados
• heterogeneidade• necessidades gerenciais e estratégicas (históricos, agregados,.)
• assincronismo operacional X gerencial
3. Dados distribuídos
![Page 10: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/10.jpg)
SISTEMAS DISTRIBUIDOS
Usuário global
Usuário local
![Page 11: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/11.jpg)
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
![Page 12: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/12.jpg)
MULTIBANCOS DE DADOS
MDBS
Integrado (não-federado)(sem autonomia local)
federado
Fracamente acoplado(sem esq. Global)
Fortemente acoplado(com esq. Global)
Federaçãosimples
Federaçãomúltipla
![Page 13: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/13.jpg)
ACESSO AOS DADOS
• Com esquema global
• Sem esquema global • Com dados
globais
• Sem dados globais
![Page 14: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/14.jpg)
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
![Page 15: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/15.jpg)
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
![Page 16: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/16.jpg)
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
![Page 17: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/17.jpg)
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
![Page 18: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/18.jpg)
ARQUITETURAS DE DISTRIBUIÇÃO
Características de um MDBS:
• necessidades de conversões e migração de uma fonte para a outra
• autonomia local
• acesso local independente
• acesso global único
• transparência da heterogeneidade
• transações distribuidas
• BD global completo (atualização esquema e dados, consultas ad-hoc, integridade, autorização, etc.
• sem efeitos colaterais locais
• performance comparável aos BDDs homogêneos
![Page 19: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/19.jpg)
ARQUITETURAS DE DISTRIBUIÇÃO
MULTIDATABASE
SGBD globalconsultas Controle deglobais concorr. Glob.
SGBD localesquema Dadoslocal locais.
SGBD localesquema Dadoslocal locais.
Esquema global
Esquema globaldos dados locais
Esquema globaldos dados locais
conversão conversão
![Page 20: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/20.jpg)
PROCESSAMENTODE CONSULTASGLOBAIS
Interface global.
SGBD local
Definir consulta global
Traduzir sub-consultapara modelo local
Decompor consulta global
Distribuir sub-consultas global
SGBD local
Traduzir sub-consultapara modelo local
![Page 21: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/21.jpg)
Data Warehouse no contexto MDBSData
Warehouse
Consultasprogramadas
ObjectData Store
ODS
Agregação
MDBS
![Page 22: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/22.jpg)
Data Warehouse: arquit. tradicional
DataWarehouse
Mediator
Meta-BD
Texto BD Dados externosfontes
Data mart Data mart
GIS OLAP DSSclientes
wrappers
![Page 23: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/23.jpg)
Data Warehouse: 3 perspectivasLÓGICA FÍSICACONCEITUAL
Modelodo cliente
Modeloda empresa
Modelooperacional
Esquemafonte
Esquemado DW
Esquemado cliente
Dadosfonte
DadosDW
Dadoscliente
conversão
conversão
agregação
wrapper
OLAP
OLTP
![Page 24: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/24.jpg)
HETEROGENEIDADE
• hardware• sistema operacional• modelo de dados• SGBD• formato dos dados
![Page 25: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/25.jpg)
Conceitos• Distribuição de bases de dados entre
ambientes distintos;
•Geografia;
•Interligação de ambientes através de
protocolos de rede
matriz PB
filial Recife
BD Campina - PB
TCP/IP
![Page 26: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/26.jpg)
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.
![Page 27: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/27.jpg)
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
![Page 28: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/28.jpg)
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.
![Page 29: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/29.jpg)
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.
![Page 30: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/30.jpg)
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.
![Page 31: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/31.jpg)
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.
![Page 32: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/32.jpg)
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
![Page 33: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/33.jpg)
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
![Page 34: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/34.jpg)
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
![Page 35: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/35.jpg)
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 1. pronto (pode migrar), 2. ativo ou 3. esperando
![Page 36: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/36.jpg)
TRANSPARÊNCIA
Tipos [Özsu&Valduriez]:
• dados (EE x EC)
• distribuição
• replicação
• fragmentação
Separa semântica de alto nível da Implementação de baixo nível
![Page 37: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/37.jpg)
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
![Page 38: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/38.jpg)
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.
![Page 39: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/39.jpg)
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.
![Page 40: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/40.jpg)
Integração
FORMAS:
1. Integração de esquemas
esquemasfonte
Esquemaglobal
2. Integração virtual dos dados
dadosfonte
Especificação deacessos globais
2. Integração materializada
dadosfonte
Visõesmaterializadas
![Page 41: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/41.jpg)
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)
![Page 42: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/42.jpg)
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
![Page 43: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/43.jpg)
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
![Page 44: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/44.jpg)
Integração1. 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:
![Page 45: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/45.jpg)
Integração
1. Integração virtual dos dados
• 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•
SISTEMAS:
![Page 46: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/46.jpg)
Integração
1. Integração virtual dos dados
• 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
SISTEMAS:
![Page 47: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/47.jpg)
Integração
1. Integração virtual dos dados
• UniSQL (D’Andrea, Janus)
- SGBD OR- Extensão SQL/M para definir visões virtuais
SISTEMAS:
Albert D'Andrea , Phil Janus UniSQL's next-generation object-relational database management system, ACM SIGMOD Record , Volume 25 , Issue 3 (September 1996
![Page 48: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/48.jpg)
Integração1. Integração virtual dos dados
• Information Manifold (AT&T) - 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
SISTEMAS:
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,
![Page 49: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/49.jpg)
Integração1. Integração virtual dos dados
• 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
SISTEMAS:
![Page 50: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/50.jpg)
Integração
1. Integração materializada dos dados
• 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)
QUESTÕES:
![Page 51: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/51.jpg)
Integração
1. Integração materializada dos dados
• 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
SISTEMAS:
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
![Page 52: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/52.jpg)
Integração
1. Integração materializada dos dados
• WHIPS (Garcia-Molina) - módulos implementados como objetos CORBA - visões criadas por expressões SQL - ;;;;
SISTEMAS:
Janet L. Wiener, Himanshu Gupta, Wilburt Labio, Yue Zhuge, Hector Garcia-Molina: The WHIPS Prototype for Data Warehouse Creation and Maintenance. ICDE 1997: 589
![Page 53: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/53.jpg)
Extração e Integração
Extração e Integração
Data Warehouse
ODS
MetaEsquema
Customização
DataMart
DataMart
OLTP
OLAP
Agregação
![Page 54: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/54.jpg)
Extração e Integração
Fonte de Informação DW
WRAPPER,LOADER
Carregamento,transformação,limpeza,atualização
MEDIATOR
Conflitos,incosistências,integração
![Page 55: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/55.jpg)
Extração e Integração
FONTES DEINFORMAÇÃO
• Bancos de dados (relacionais, OO, OR, hierárquicos, rede, outros)• fontes externas (outras empresas, resultados de pesquisas, ...)
• Arquivos (planilhas, arquivos, textos, documentos multimidia)
META-ESQUEMA/METADADOS
• dicionário de dados• fluxo de dados• transformação dos dados• controle de versões dos metadados•estatísticas de uso•aliases•segurança
![Page 56: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/56.jpg)
Extração e Integração
TAREFAS• 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
![Page 57: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/57.jpg)
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
![Page 58: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/58.jpg)
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-vs-composição
7. Diferentes representações da mesma informação (a) expressões diferentes (b) unidades diferentes (c) níveis de precisão
![Page 59: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/59.jpg)
Solução de Conflitos TÉCNICAS DESOLUÇÃO DECONFLITOS 1. 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 mistas7. Homogenizar métodos
![Page 60: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/60.jpg)
Solução de Conflitos
TÉCNICAS DE SOLUÇÃO DE CONFLITOS
Criação de classes virtuais
CREATE VCLASS nome-da-classe-virtual SIGNATURE lista-de-atributos AS SELECT lista-de-seleção FROM lista-de-entidades WHERE condição
SELECT ...
Sintaxe (linguagem SQL/M do UniSQL):
![Page 61: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/61.jpg)
Solução de conflitosEXEMPLO: 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.
![Page 62: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/62.jpg)
ExemploUNIVERSIDADE-3 (BD OO ou OR)
CLASS EstudanteSIGNATURE nome:CHAR(25), mat:INTEGER,
curso: CHAR(20), cre:REAL, /*métodos*/CLASS Est-pós-graduação SUPERCLASS EstudanteSIGNATURE orientador: SET-OF Professor
CLASS Professor SUPERCLASS EmpregadoSIGNATURE depto: CHAR(25), nível: CHAR(20)
CLASS Empregado...CLASS MatriculadoSIGNATURE curso:Curso, est:Estudante, conceito:REAL
![Page 63: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/63.jpg)
Classe virtual
CREATE VCLASS Todos-estudantesSIGNATURE nome CHAR(25), matricula INTEGER,
curso CHAR(20), cre: REALAS SELECT eg.nome eg.mat c.cnome eg.cre FROM un1.Est-grad eg, un1.Matricula m, un1.Curso c WHERE eg.mat=m.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
![Page 64: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/64.jpg)
Conflitos - Homogenizar representações
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-estudantesWHERE curso LIKE Bach% em C% da Computação
Expressões distintas denotam a mesma informação
![Page 65: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/65.jpg)
Conflitos - Homogenizar representações
CONFLITO: valores numéricos distintos denotam a mesmaquantidade física
SOLUÇÃO: definir uma função de conversãoEXEMPLO: quilogramas e libras;
graus centígrados e graus Farenheit
Unidades distintas
![Page 66: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/66.jpg)
Conflitos - Homogenizar representações
CONFLITO: valores numéricos expressos em granularidadesdistintas
SOLUÇÃO: converter para a granularidade menos precisaEXEMPLO: gramas e quilos; segundos e minutos
Precisões distintas
![Page 67: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/67.jpg)
Conflitos - Homogenizar atributos
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)
Conflitos de tipos
WHERE eg.mat=m.mat AND c.cnum = eg.curso AS INTEGER
![Page 68: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/68.jpg)
Conflitos - Homogenizar atributos
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
Conflitos atributo X relacionamento X entidade
CREATE VCLASS Cursos SIGNATURE nome CHAR(25)AS SELECT cnome FROM un1.Curso SELECT curso FROM un3.Estudante
![Page 69: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/69.jpg)
Conflitos - Homogenizar atributos
Valores default
Atributos concatenados (e.g. nome=primeiro nome + sobrenome)
![Page 70: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/70.jpg)
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 atributosSOLUÇÃO: criar atributos ‘fantasma’ ou eliminar os
atributos a mais
![Page 71: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/71.jpg)
Conflitos - Junções
Entidade n-m
CONFLITO: as mesmas entidades são espalhadas por várioslocais com atributos distintos
SOLUÇÃO: processar junções
![Page 72: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/72.jpg)
Conflitos - Métodos
Entidade n-m
CONFLITO: métodos distintos realizam a mesma tarefaSOLUÇÃO: analisar os dois métodos e criar um método
genérico que realiza as duas tarefas
![Page 73: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/73.jpg)
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
![Page 74: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/74.jpg)
Conflitos - Navathe et. al.
Casamento (aproximado) de nomes
Casamento (aproximado) de atributos
Casamento (aproximado) de estruturas
Grau de similaridade entre entidades
![Page 75: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/75.jpg)
Solução de Conflitos
E1 E2
Generalizar E1 E2
E12 E12 = E1 E2AE12 = AE1 AE2
L1 L2
G
OBS: E1 e E2podem ficar em Gou não
![Page 76: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/76.jpg)
Solução de Conflitos
E1 E2
Especializar E1 E2
E12E12 = E1 E2AE12 = AE1 AE2
L1 L2
G
OBS: E1 e E2podem ficar em Gou não
![Page 77: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/77.jpg)
Solução de Conflitos
E1 E1
Subordinar E2 a E1
E2 E1AE1 AE2
E2 E2
L1
L2 G
![Page 78: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/78.jpg)
Solução de Conflitos
E1 E2
Agregar E1 e E2
E12 E12 E1 X E2
L1 L2
G
OBS: E1 e E2podem ficar em Gou não
![Page 79: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/79.jpg)
Solução de Conflitos
E1 E1
Agrupar E2 em E1
E2 E2
L1
L2 GE1 P(E2)
![Page 80: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/80.jpg)
Solução de Conflitos
E1 E2
Combinar r1 e r2
L1 L2
G
r1E1 E2
r2
E1 E2r12
E1r12E2 = E1r1E2 E1r1E2
![Page 81: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/81.jpg)
Solução de Conflitos
E1
Atributo X relacionamento
L1 L2
G
atE1 A
r
E1 Ar’
A
r’ = r at
![Page 82: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/82.jpg)
Solução de Conflitos
Entidade X relacionamento
L1 L2
G
E1 E2r
E1 E2
R’ = R r
R’
E1 E2
R
![Page 83: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/83.jpg)
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
![Page 84: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/84.jpg)
Integração baseada em agentes
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
FONTE: M. Klusch “Intelligent Information Agents”, Springer Verlag (1999) [749 referências!]
![Page 85: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/85.jpg)
Integração baseada em agentes
CLASSIFICAÇÃO DE AGENTES (Franklin&Gaesser):
Autônomos computacionais
biológicos
robóticos
• software
• vida artificial
• virus• aplicativos
• diversão
• de informação
• cooperativos• não-cooperativos
• adaptivos• racionais• móveis
![Page 86: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/86.jpg)
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
![Page 87: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/87.jpg)
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)
![Page 88: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/88.jpg)
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)
![Page 89: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/89.jpg)
Agentes de Informação Cooperativos
• Sistemas de Informação Cooperativos - CIS
RequerenteInterme-
diárioServidor
INTERMEDIAÇÃO (BROKERING)
2.Solicitarserviço
4.Resultado 1.Anunciarserviço
3.Solicitarserviço
![Page 90: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/90.jpg)
Agentes de Informação Cooperativos
• Sistemas de Informação Cooperativos - CIS
Requerente
Associador
Servidor
ASSOCIAÇÃO (MATCHMAKING)
2.Solicitarserviço
5.Resultado
1.Anunciarserviço
4.Solicitarserviço
3.Informarservidor
![Page 91: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/91.jpg)
Agentes de Informação Racionais
• 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
Aplicação em comércio eletrônico, govêrno eletrônico, turismo
![Page 92: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/92.jpg)
Agentes de Informação Adaptativos
• Estratégia• Instrução• Exemplo• Analogia• Descoberta
•Objetivo• habilidades• cap. do sistema
• Decentralização• tipo de distribuição• comp. concorrente
ADAPTAÇÃO
• Feedback• Supervisão• Reforço• Auto-organização
•Interação• Agente-agente• Agente-humano• Ambiente do sistema
Agente simples Multi-Agentes
![Page 93: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/93.jpg)
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
![Page 94: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/94.jpg)
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) 281–303
• An ontology based approach to the integration of entity–relationship schemas, Qi He, Tok Wang Ling, Data & Knowledge Engineering 58 (2006) 299–326
• How to act on inconsistent news: Ignore, resolve, or reject, Anthony Hunter, Data & Knowledge Engineering 57 (2006) 221–239
• Semantic integration in Xyleme: a uniform tree-based approach, C. Delobel et al. Data & Knowledge Engineering 44 (2003) 267–298
• 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
![Page 95: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/95.jpg)
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)
![Page 96: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/96.jpg)
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 TestbendMUVIS_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
![Page 97: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/97.jpg)
Integração - García-Solaco, Saltor, Castellanos: Semantic Heterogeneity in Multidatabase Systems - uma survey
2. SOLUÇÃO DE HETEROGENIDADES:
TOOLS: Multibase; Honeywell Testbend;MUVIS; BERDIViewSystem; Carnot; Pegasus; UniSQL/M
CONTRIBUTIONS: Superview - Integration Operators;Rule Based Approach; Approach that preserves semantic relativism;Semantic Unification Approach; Semantic Abstractions;Structural Integration
![Page 98: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/98.jpg)
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 fontesPartially unified schemasInteração usa um Common Object Model
denominado KOM
![Page 99: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/99.jpg)
Integração - Papazoglou, Zahir Tari, Russel: Object-Oriented technology for Interschema and language Mappings
Inforrmation Broker
ClientInterface
ServerInterface
Shared Inf.metadataThesauri
Service desc.
Object wrapper
RDB
CommonObjectModel
Inforrmation Broker
ClientInterface
ServerInterface
Shared Inf.metadataThesauri
Service desc.
Object wrapper
FDB
Control flow
Data flow
![Page 100: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/100.jpg)
Integração - Papazoglou, Zahir Tari, Russel: Object-Oriented technology for Interschema and language Mappings
O modelo KOM:
ODL - Object Definition Layer
OTL - Object Transformation Layer
RELACIONAL
FUNCIONAL
ORIENTADOA OBJETOS
Transformação de estruturas e operações
![Page 101: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/101.jpg)
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}
![Page 102: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/102.jpg)
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
![Page 103: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/103.jpg)
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
![Page 104: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/104.jpg)
Processamento de ConsultasConsulta global
Decomposição e otimização global
SC1 SCn CPP1 CPPm
EG
EGL1
tradutor
CL1
BDlocal
resultado
tradutor
CLn
BDlocal
... ...
...
CPP = consulta de pós-processamento
![Page 105: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/105.jpg)
Processamento de Consultas
• Modificação da consulta• Tradução da consulta• otimização global
DECOMPOSIÇÃO/TRADUÇÃO:
1) modificação para atender os EGLs2) decomposição em consultas internas e consultas externas (externas sobre dados intermediários transmitidos)3) tradução para esquemas locais
PASSOS:
![Page 106: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/106.jpg)
Processamento de Consultas
• Modificação da consulta
Fatores que afetam complexidade:
• 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
![Page 107: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/107.jpg)
Processamento de Consultas• Modificação da consulta
Dada uma classe C:
tipo(C) = atributos de C com os domíniosextensão(C) = {instâncias de C}mundo(C) = {objetos do mundo real
descritos por 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
![Page 108: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/108.jpg)
Processamento de Consultas• Outerjoin
Emp1 >< Emp2 = <1,José, 28, sup>
Emp1(#e, nome, idade)<1, José, 28><2, Karla, 22>
Emp2(#e, nome, nivel)<1, José, sup><3, Cintia, méd>
Emp1 >o< Emp2 = {<1,José, 28, sup>, <2, Karla, 22, {}>, <3, Cintia, {}, méd>
![Page 109: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/109.jpg)
Processamento de Consultas• OuterjoinEmp1(#e, nome, sal, idade)
<1, José, 300.-, 28><2, Karla, 450,-, 22>
Emp2(#e, nome, sal, nivel)<1, José, 120.-, sup><3, Cintia, , méd>
Emp1 >o< Emp2 (sum(sal)) = {<1,José, 28, 450.-, sup>, <2, Karla, 22, 450.-, >,
<3, Cintia, , , méd>
![Page 110: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/110.jpg)
Processamento de Consultas• Modificação da consulta
Emp1(#e, nome, salario, idade) - esquema exportação-local 1Emp2(#e, nome, salario, nivel) - esquema exportação-local 2
EXEMPLO
EmpG(#e, nome, salario) - esquema generalizaçãoEmpG.nome = Emp1.nome se EmpG está em mundo(Emp1) = Emp2.nome se EmpG caso contrárioEmpG.salario = Emp1.salário se EmpG está em
mundo(Emp1) - mundo(Emp2) = Emp1.salario+Emp2.salario se EmpG está em
mundo(Emp1) mundo(Emp2). . .
![Page 111: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/111.jpg)
Processamento de Consultas• Modificação da consulta
EmpOJ(#e, nome, salario, idade, nivel) - esquema outerjoin
EXEMPLO
EmpOJ.idade = Emp1.idade se EmpOL está em mundo(Emp1) = nulo se EmpOJ está em
mundo(Emp2) - mundo(Emp1)EmpOJ.nivel = Emp2.nivel se EmpOJ está em mundo(Emp2)
= nulo se EmpOJ está em mundo(Emp1) - mundo(Emp2)
![Page 112: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/112.jpg)
Processamento de ConsultasEmpOJ(#e, nome, salario, idade, nivel)
SEJA A CONSULTA:
SELECT EmpOJ.nome, EmpOJ.nivelFROM EmpOJWHERE EmpOJ.salario > 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);
![Page 113: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/113.jpg)
Processamento de Consultas
Para o mundo(Emp2)-mundo(Emp1) o atributo idade é nulo;
Para o mundo(Emp1)-mundo(Emp2) teremosSELECT Emp1.nome FROM Emp1WHERE Emp1.salario > 2000 AND Emp1.idade =49AND Emp1.#e NOT IN (SELECT Emp2.#e FROM Emp2)
Para o mundo(Emp2) mundo(Emp1) teremosSELECT Emp1.nome, Emp2.nivel FROM Emp1, Emp2WHERE sum(Emp1.salario, Emp2.salario) > 2000 AND Emp1.idade =49 AND Emp1.#e = Emp2.#e
Uma consulta de pós-processamento irá produzir o resultado final
![Page 114: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/114.jpg)
Processamento de Consultas
• Tradução da consulta
A qualidade da tradução irá depender do poder expressivoda linguagem local
CASOS:
Uma única consulta local• otimização local
Várias consultas locais. • Definir consultas locais de forma a otimizar a performance• otimização local
ALGORITMOS CONVENCIONAIS
![Page 115: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/115.jpg)
Processamento de Consultas
• Otimização global da consulta
Para o mundo(Emp2) mundo(Emp1) temos
SELECT Emp1.nome, Emp2.nivel FROM Emp1, Emp2WHERE sum(Emp1.salario, Emp2.salario) > 2000 AND Emp1.idade =49 AND Emp1.#e = Emp2.#e
VOLTEMOS AO EXEMPLO:
![Page 116: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/116.jpg)
Processamento de Consultas• Otimização global da consulta
POSSIBILIDADES:
Emp1SELECT
Result1 + Emp2SELECT
Emp2SELECT
Result2 + Emp1SELECT
Emp2SELECT
Result1 + Result2SELECT
Emp1SELECT
![Page 117: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/117.jpg)
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: linearfechada
![Page 118: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/118.jpg)
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: C[A op a] = C1[A op a] int-op C2[A op a]
usa outerunion: C1 OJ C2 = C1-O OU C2-O OU (C1-C J C2-C)
parte privada parte comum
![Page 119: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/119.jpg)
Processamento de Consultas• Otimização global da consulta
Otimização com funções de agregação f(a1,a2)
minminmaxmaxsumsum
<=>=<=
f(a1,a2) op
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)
Para os outros casosnenhuma otimização
é possível (4)
![Page 120: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/120.jpg)
Processamento de Consultasa1=E1.sal = 500 a2=E2.sal = 600
minminmaxmaxsumsum
>=<<<=
f(a1,a2) op
min(E1.sal,E2.sal)> 600 E1.sal > 600 AND E2.sal > 600 (1) min(E1.sal, E2.sal)= 550 min(a1<600, a2<600) = 600 (2)max(a1,a2)< a a1 < 600 AND a2 < 600 (1)max(a1,a2)= a max(a1 > 600, a2 > 600) = 600 (2)sum(a1,a2)< a sum(a1>600, a2>600) < 600 (3)
sum(a1,a2)= a sum(sum(a1) > 600, sum(a2) > 600) = 600 (2)
sal = 600
(1) = processamento em todos locais(2) = processamento em um local pode resolver(3) = processamento local e global
![Page 121: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/121.jpg)
Controle de Concorrência
• Autonomia de projeto• Autonomia de execução• Autonomia de comunicação
TIPOS DE TRANSAÇÕES
• Transações locais• Transações globais
AUTONOMIA LOCAL
![Page 122: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/122.jpg)
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)
![Page 123: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/123.jpg)
Controle de Concorrência
MDBS
GTG
Ti
Tj
SGBD
Server
SGBD
Server
Tl Tl
![Page 124: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/124.jpg)
Controle de Concorrência
MDBS - Interface Server/SGBD
• O SGBD aceita operações individuais begin, op.1, op.n, commit
• O SGBD aceita serviços na forma de transações locais
POSSIBILIDADES
![Page 125: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/125.jpg)
Controle de Concorrência
• Serializabilidade global
• Atomicidade e recuperação
• Deadlock
PROBLEMAS
![Page 126: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/126.jpg)
Controle de Concorrência
• Serializabilidade global
Local s1 com a, bLocal s2 com c, d
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
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
![Page 127: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/127.jpg)
Controle de Concorrência
• Atomicidade global e recuperação
Local s1 com aLocal s2 com c
Transações:global: T1 : r1(a) w1(a) w1(c)local: T2 : r2(a) w2(a) em s1
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 RESULTADO:schedule não serializavel: r1(a) r2(a) w2(a) w1(a)
![Page 128: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/128.jpg)
Controle de Concorrência
• Atomicidade global e recuperação
SOLUÇÃO:
Prepare-to-commit reduz heterogenidade
![Page 129: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/129.jpg)
Controle de Concorrência
• Deadlock global
Local s1 com a, bLocal 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
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
![Page 130: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/130.jpg)
Controle de Concorrência
• Serializabilidade global
Local s1 com a, bLocal s2 com c, d
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 Visão global: T1 ,T2
• evitar transações T1 ,T2 que atuam no mesmo local provocar conflito artificial
SOLUÇÕES:
• identificar schedules como S2 e evita-los
![Page 131: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/131.jpg)
Controle de Concorrência
• Serializabilidade global
Local s1 com a, bLocal s2 com c, d
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
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
Provocar conflito entre T1 ,T2 com um ticket
w1(t)r2(t)
r2(t)w1(t)
, t
![Page 132: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/132.jpg)
Controle de Concorrência
• Serializabilidade global - SGBDs com 2PL rigoroso
Local s1 com a, bLocal s2 com c, d
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
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
![Page 133: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/133.jpg)
Controle de Concorrência
• Atomicidade global e recuperação
PROBLEMA: Falha de subtransação global
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)
![Page 134: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/134.jpg)
Controle de Concorrência
• Atomicidade global e recuperação
TIPO DA OPERAÇÃO
COMPENSÁVEL REPETÍVEL EXEMPLO
ler (read) sim - (ler de novo) sim update de troca não sim (reescrever) escrever um inteiro update relativo sim (usar valor) sim incrementar um
valor update relativo c/restrição
condicional condicional depósito, cancelamento
inserção em conjunto
sim - (remover) sim
entrada em fila sim (remover) sim inserção em lista sim (remover) não (pode ter
mudado)
update em textos não não
![Page 135: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/135.jpg)
Controle de Concorrência
• Outros conceitos em
Özsu&Valduriez-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
![Page 136: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/136.jpg)
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
![Page 137: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/137.jpg)
- FIGURA 4.1-
![Page 138: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/138.jpg)
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)
![Page 139: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/139.jpg)
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
![Page 140: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/140.jpg)
Data Warehousing - Atualização
CDW - Data Warehouse - atualização
• volume muito grande de dados - de GB a TB
• sobrecarga transacional - transações de carga e acesso pesadasGB/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
PROBLEMAS CRÍTICOS
![Page 141: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/141.jpg)
Data Warehousing - Atualização
Extração Histórico Limpeza
PREPARAÇÃO
Temporal/externo
Integração HistóricoINTEGRAÇÃO
Propagação
Customização
AGREGAÇÃO
![Page 142: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/142.jpg)
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
![Page 143: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/143.jpg)
Data Warehousing - Extração
FONTES:
não-cooperativas
cooperativas
snapshot
logadas
específicas
consultáveis
arquivos
BDs, e-mails
legados
BDs relacionais
replicadas
ativascallback
Ações internas
BDs c/ replicação
BDs c/triggersexternos
BDs c/triggerse delta tables
![Page 144: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/144.jpg)
Data Warehousing - Limpeza
Dados devem ser: precisos, relevantes, consistentes e completos
DADOS SUJOS:
• 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
![Page 145: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/145.jpg)
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)
![Page 146: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/146.jpg)
Data Warehousing - Limpeza
• conversão e normalização transformação de formatos heterogêneos
SQL*Loader Arquivos Oracle
Wrappers Dados fonte Data Warehouse
NORMALIZAÇÃO Exemplos: • textos sem acentuação• formato do datas
![Page 147: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/147.jpg)
Data Warehousing - Limpeza
• limpeza específica arquivos textuais, uso de dicionários
normalização de nomes próprios• nome farmaceuticos• normalização postal
EXEMPLOS:PostalSoftACESSA(Search Soft America)PostalSoft Library and MailersCarleton’s Pure Integrator (DW)ETI Data Cleanse
![Page 148: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/148.jpg)
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
Carlton’s Pure Integrator: • casamento com chaves• casamento sem chaves (fuzzy)
![Page 149: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/149.jpg)
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)
![Page 150: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/150.jpg)
Data Warehousing - Limpeza• limpeza baseada em regras regras específicas de casamento (business rules)
Regras explícitas: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(pessoa1, pessoa2)
![Page 151: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/151.jpg)
Data Warehousing - Limpeza• limpeza baseada em regras
Regras geradas automaticamente (baseadas em data mining)
A=B*C WHERE A = p-total, B=quant. C=p-unitRule’s accuracy level: 0.99rule exists in 1890 records
regras matemáticas
regras IF-THEN
IF Cliente IS “UFCG” AND item IS “Informática”THEN Vendedor=“Chico”Rule’s probability: 0.95rule exists in 102 records
![Page 152: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/152.jpg)
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
![Page 153: Interoperabilidade Ulrich Schiel ulrich@dsc.ufcg.edu.br (C) COPIN - Coordenação de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE CAMPINA GRANDE](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c06c5/html5/thumbnails/153.jpg)
FIM