2 Conceitos básicos. 2.1 Arquiteturas tradicionais para integração de dados. 2.1.1 Arquitetura de mediadores



Documentos relacionados
Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Disciplina de Banco de Dados Introdução

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

05/06/2012. Banco de Dados. Gerenciamento de Arquivos. Gerenciamento de Arquivos Sistema Gerenciador de Banco de Dados Modelos de Dados

Arquitetura de Banco de Dados

Prof.: Clayton Maciel Costa

GARANTIA DA QUALIDADE DE SOFTWARE

Arquitetura de Rede de Computadores

ISO/IEC 12207: Gerência de Configuração

BANCO DE DADOS I AULA 3. Willamys Araújo

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Persistência e Banco de Dados em Jogos Digitais

Semântica para Sharepoint. Busca semântica utilizando ontologias

DATA WAREHOUSE. Introdução

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

CAPÍTULO 2. BANCOS DE DADOS DISTRIBUÍDOS

Conceitos de Banco de Dados

Prof. Daniela Barreiro Claro

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

MBA Inteligência Competitiva Com ênfase em BI/CPM. Metadados

Disciplina: Unidade III: Prof.: Período:

Arquitetura física de um Data Warehouse

Bancos de Dados III. Bancos de Dados Distribuídos Especificação e Projeto Parte 1. Rogério Costa rogcosta@inf.puc-rio.br

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Microsoft Access XP Módulo Um

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Revisão de Banco de Dados

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

Banco de Dados I. Prof. Bal. Emerson Meneses Inocente

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Banco de Dados. Profª. Ana Leda

SISTEMA GERENCIADOR DE BANCO DE DADOS

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br. Aula 3. Prof. Rafael Dias Ribeiro.

Faculdade Lourenço Filho - ENADE

Modelos. Comunicação com clientes

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva UFU/FACOM

Manual do Usuário - ProJuris Web - Biblioteca Jurídica Página 1 de 20

Feature-Driven Development

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi

Projeto de Banco de Dados Distribuído Proj o e j to t o de d B a B nc n o o d e d Da D do d s o D i D str t ibu b í u do d s

Modelo Entidade-Relacionamento

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Modelo de dados do Data Warehouse

Disciplina de Banco de Dados Parte V

BANCO DE DADOS PROFESSOR MAURÍCIO - MAURICIO.MELLO@PUCPR.BR AULA 02. O Modelo Entidade-Relacionamento ( MER )

No mundo atual, globalizado e competitivo, as organizações têm buscado cada vez mais, meios de se destacar no mercado. Uma estratégia para o

Conhecendo os usuários de um Sistema de Banco de Dados

1

Uma análise de ferramentas de modelagem e gerência de metadados aplicadas ao projeto de BI/DW-UFBA

Prof. Alexandre Unterstell Banco de Dados I

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

ENGENHARIA DA COMPUTAÇÃO BANCO DE DADOS I CONTEÚDO 5 ABORDAGEM RELACIONAL

MODELAGEM DE DADOS. Unidade II Arquiteturas do SGBD

Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001

DATA WAREHOUSE NO APOIO À TOMADA DE DECISÕES

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade

Sistemas de Informação James A. O Brien Editora Saraiva Capítulo 5

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Backup. Permitir a recuperação de sistemas de arquivo inteiros de uma só vez. Backup é somente uma cópia idêntica de todos os dados do computador?

Manual SAGe Versão 1.2 (a partir da versão )

Capítulo 9. Gerenciamento de rede

4 Um Exemplo de Implementação

Universidade Paulista

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

5 Mecanismo de seleção de componentes

Engenharia de Requisitos

Como melhorar a tomada de decisão. slide 1

Introdução. Uso do disco Vantagens Desvantagens Baixo custo, facilidade de manutenção do software e do hardware, simetria e flexibilidade

PRINCÍPIOS DE INFORMÁTICA PRÁTICA OBJETIVO 2. BASE TEÓRICA. 2.1 Criando Mapas no Excel. 2.2 Utilizando o Mapa

Desenvolvimento de uma Etapa

Status. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna

CE-240 ListEx 1. Lista de Exercícios 1. Relatório

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

Módulo 15 Resumo. Módulo I Cultura da Informação

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Gerenciamento de configuração. Gerenciamento de Configuração. Gerenciamento de configuração. Gerenciamento de configuração. Famílias de sistemas

Orientação à Objetos. Aécio Costa

INTRODUÇÃO. Enfoque abstrato. Enfoque Intermediário

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

2 Conceitos relativos a Web services e sua composição

Módulo 4: Gerenciamento de Dados

Arquitetura dos Sistemas de Informação Distribuídos

Introdução a Web Services

3 Arquitetura do Sistema

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Documento de Análise e Projeto VideoSystem

Upload e Download de Arquivos. Ao programador Morfik, cabe implementar em sua aplicação os mecanismos gerenciem todo o processo acima.

Banco de Dados Orientado a Objetos

Tutorial Sistema de Eventos de Certificação e Capacitação

Processos de gerenciamento de projetos em um projeto

2 Geração Dinâmica de Conteúdo e Templates de Composição

Transcrição:

17 2 Conceitos básicos 2.1 Arquiteturas tradicionais para integração de dados 2.1.1 Arquitetura de mediadores Um mediador é um componente de software que intermedia o acesso de clientes (usuários ou componentes de software) a fontes de dados (Wiederhold, 1992). Em particular, os mediadores podem ser desenvolvidos para usar outros mediadores como componentes. A Figura 4 mostra a arquitetura clássica de mediador-adaptador (Busse et al., 1999), composta pelas seguintes camadas: Camada de Mediação: contém um ou mais mediadores fornecendo acesso integrado a fontes de dados ou outros mediadores, podendo formar redes de mediadores. De forma geral, o mediador centraliza as informações fornecidas pelos adaptadores das fontes mediadas numa visão unificada dos dados disponíveis nas fontes. Para isso, o mediador possui um esquema mediado, ou esquema global, e alinhamentos entre os elementos do esquema mediado e os esquemas das fontes. O esquema global permite que uma consulta submetida ao mediador possa ser traduzida em consultas às fontes. Dada uma consulta submetida ao mediador, ele cria e submete consultas específicas para as fontes, reúne os resultados parciais das fontes e entrega uma resposta unificada ao usuário. Camada de Adaptação: contém os adaptadores responsáveis pelo acesso às fontes de dados. Cada adaptador esconde a heterogeneidade técnica e do modelo de dados da fonte de dados a qual adapta, tornando o acesso à fonte de dados transparente para o mediador. Para cada fonte de dados existe um adaptador que exporta as informações relevantes sobre a fonte, tais como: seu esquema, informações sobre seus dados e sobre seus recursos para processamento de consultas. Em geral é utilizado um esquema de

18 exportação para descreve a forma como os dados são disponibilizados por cada fonte. O esquema de exportação representa um esquema externo do esquema conceitual da fonte em questão, contendo apenas os atributos relevantes no contexto do mediador. Camada de Aplicação Mediador A Mediador B Camada de Mediação Adaptador 1 Adaptador 2 Adaptador 3 Camada de Adaptação SGBD Relacional SGBD OO Sistema de arquivos Legenda Adaptadores Mediadores Figura 4 Arquitetura mediador-adaptador. Em geral, os mediadores são especializados para um conjunto interrelacionado de fontes com dados semelhantes e, assim, fornecem acesso a dados relacionados a um domínio específico. A construção de um mediador impõe alguns desafios importantes, entre eles a heterogeneidade semântica das fontes de dados. Estes desafios tornamse ainda mais complexos no contexto da Web, onde a quantidade de fontes de dados distintas pode ser enorme e é desejável a inclusão e remoção de fontes dinamicamente, sem controle do mediador. Isto torna mais difícil a tarefa de mapear as informações entre os esquemas de exportação e global. 2.1.2 Armazém de dados Um armazém de dados ou data warehouse (DW) é uma plataforma para integração de dados para facilitar o desenvolvimento de sistemas de apoio a decisão e de processos empresariais (Kimball, 2002). O objetivo principal é a

19 integração efetiva de fontes de dados operacionais em um único repositório que facilite o uso estratégico dos dados. Figura 5 Elementos básicos de uma data warehouse e o processo ETL. A criação de uma DW segue um processo de extração, transformação e carga dos dados (ETL - extract-transformation-load). A Figura 5 ilustra o processo ETL e posteriormente o acesso aos dados da DW. A extração é a primeira etapa do processo de ETL. Nesta etapa, os dados necessários para a DW são lidos, entendidos e copiados das fontes de dados de origem para a área de preparação (Data Staging Area) da DW. Na área de preparação é realizada a etapa de transformação de dados, onde diversas operações podem ser aplicadas, tais como: a limpeza (que inclui resolução de conflitos, tratamento de elementos nulos, ou a transformação para um formato padrão), a combinação de dados de múltiplas fontes, a eliminação de duplicatas, etc. A etapa de transformação precede a última etapa do processo de ETL conhecida como carga dos dados. Finalmente nesta etapa, os dados são carregados para a área de apresentação (Data Presentation Area) da DW, de onde os dados estarão prontos para serem acessados pelas ferramentas de acesso. Para exemplificar a etapa de transformação de dados utilizamos um exemplo simples onde se deseja carregar os dados de uma base de dados com esquema S para uma DW com esquema T. Primeiramente, S precisa ser comparado contra T, de forma a identificar os elementos similares e distintos. Os elementos distintos e suas instâncias são descartados enquanto os elementos similares serão utilizados para a transformação de dados. A Figura 6 ilustra os esquemas S e T. Para exemplificar foram utilizados apenas os elementos similares S.Client e T.Customer, que armazenam

20 informações de consumidores de lojas online. A Figura 6 (a) ilustra as correspondências entre os atributos dos esquemas de ambas as tabelas, tais como: id cnumber, first cname, last cname, address cemail, home caddress e phone cphone. Note que os elementos first e last do esquema S representam o primeiro nome e o sobrenome do consumidor, respectivamente. Ambos mapeiam para o mesmo atributo cname do esquema T, que representa o nome completo do consumidor. Com base nestas correspondências, no momento de carregar os dados da fonte de origem para a DW, uma consulta em SQL pode ser gerada para transformar as instâncias de Client de S em instâncias de Customer de T. A Figura 6 (b) ilustra a consulta SQL citada anteriormente. Note que os valores das colunas id, home, address e phone de S são utilizados para popular as colunas cnumber, caddress, cemail e cphone de T, respectivamente, enquanto os valores de first e last de S são concatenados para popular a coluna cname de T. (a) Alinhamento S.Client T.Customer id first last address home phone cnumber cname caddress cemail cphone 13 Daniela Brauner db@m Av.Br., 10 9447 13 Daniela Brauner Av.Br., 10 db@m 9447... INSERT INTO T(cNumber, cname, caddress, cemail, cphone) SELECT id, Concat(first, last), home, address, phone FROM S (b) Transformação de dados Figura 6 Alinhamento de esquemas conceituais e transformação de dados.

21 2.2 Alinhamentos sintáticos, semânticos e a priori Casanova et al. (2007) apresenta três classificações para abordagens de alinhamento de esquemas: sintática, semântica e a priori 3. A primeira abordagem, chamada de sintática, consiste em alinhar dois esquemas utilizando indicações sintáticas, tais como os tipos de dados dos atributos e as similaridades (sintáticas) entre os nomes dos elementos dos esquemas. Esta abordagem depende da suposição implícita de que a proximidade sintática implica em similaridade semântica. Entretanto, tal suposição é freqüentemente injustificável e pode levar a alinhamentos errôneos. Por exemplo, suponha dois esquemas S e T descrevendo bancos de dados em domínios de aplicação não muito evidentes. S possui um conjunto de objetos chamado Games, com atributos Name e ESRB, e T possui um conjunto de objetos denominado Gaming, com atributos Name, Price e Rating (veja Figura 7). Utilizando apenas uma abordagem de comparação sintática, Games provavelmente seria alinhado com Gaming, os atributos Name seriam alinhados entre si, mas ESRB não seria alinhado com Rating. Se o domínio de S e T fosse em jogos de computador, então este alinhamento estaria razoável, exceto pela falta do alinhamento entre ESRB e Rating, o qual deveria ter sido capturado, pois ambos se referem a avaliação de jogos (Entertainment Software Rating Board - ESRB). Porém, se S descreve um banco de dados de uma agência de turismo especializada em safáris, é injustificável o alinhamento de Games (significando neste caso caçadas - game hunting) com Gaming, do esquema T de um banco de dados de jogos de computador. A segunda abordagem, chamada de semântica, e abordagem alvo desta tese, utiliza indicações semânticas para gerar hipóteses sobre o alinhamento dos esquemas. Esta tenta detectar como os objetos do mundo real são representados em diferentes fontes de dados e utiliza esta informação para alinhar os esquemas. Esta abordagem é mais robusta do que a abordagem sintática, porém só pode ser aplicada a esquemas simples. Por esquemas simples entende-se aqueles que possuem tabelas com poucos relacionamentos entre si expressos através de chave estrangeiras. 3 Note que este conceito é diferente da abordagem a priori introduzida nesta tese. Nesta tese, o termo a priori é usado para uma abordagem de alinhamento semântica que realiza os alinhamento antes de permitir o acesso às fontes utilizadas.

22 Retornando ao exemplo, para decidir se Games deve ser alinhado com Gaming (veja Figura 7) utilizando a abordagem semântica, o mediador deve implementar o seguinte procedimento. Primeiramente, ele deve selecionar um conjunto de objetos típicos armazenados em Gaming, tais como Flight Simulator e Super Mario Bros, e sondar S verificando a ocorrência de tais objetos em Games. Esta informação é utilizada então para alinhar Games e Gaming, alinhar os atributos Name, e alinhar os atributos ESRB e Rating, como é esperado. Note que esta abordagem será executada com sucesso quando S e T descrevem bancos de dados de jogos de computador. Generalizando esta abordagem, o mediador deve ignorar o fato de que Games e Gaming são sintaticamente similares e tentar alinhar S e T utilizando somente o conjunto de objetos típicos. Syntactic Approach? Games Name ESRB Gaming Name Price Rating Semantic Approach Games Name ESRB Gaming Name Price Rating Flight Simulator E Flight Simulator 49.99 E Super Mario Bros E Super Mario Bros 34.99 E Figura 7 Exemplos das abordagens sintática e semântica. Vale ressaltar que, na abordagem semântica, deve ser possível detectar as instâncias equivalentes armazenadas em diferentes fontes de dados. Uma técnica simples consiste em utilizar os próprios valores dos atributos das instâncias em questão. Porém, detectar que Flight Simulator denota o mesmo jogo de computador em ambas as fontes de dados é uma tarefa aparentemente simples, pois se trata de um nome comercial, mas não integralmente à prova de erros devido às várias versões existentes do jogo, evidenciando objetos diferentes. Para resolver isso, devem ser utilizados valores de atributos que identifiquem unicamente as instâncias no domínio das fontes em questão, aqui chamados de identificadores de domínio. No exemplo, pode ser utilizado o

23 código do produto (part number - PN) ao invés do nome comercial. Ainda assim, podem existir casos onde os jogos vendidos nos Estados Unidos são identificados usando o código de produto universal (Universal Product Code - UPC) com 12 dígitos, enquanto os jogos vendidos na Europa usam o código global do item (Global Trade Item Number - GTIN) com 14 dígitos. Portanto, a identificação de duplicatas é um processo nada trivial que requer esforço adicional para amadurecimento das técnicas existentes. No domínio de dados geográficos, o identificador de domínio pode ser definido com base nas propriedades espaciais dos objetos, que são representadas em atributos como bounding-boxes ou centróides. Para exemplificar esta abordagem são apresentadas na Figura 8 duas tabelas contendo instâncias nomeadas como Rio de Janeiro de duas fontes distintas A e B. Note que, a partir dos centróides dos objetos, representados pelos atributos LAT e LONG da fonte A e footprintx e footprinty da fonte B, é possível notar que os objetos Estado do Rio de Janeiro da fonte A e Rio de Janeiro, Estado do - Brazil são o mesmo objeto, visto que os atributos de A: LAT e LONG possuem os mesmo valores dos atributos de B: footprinty e footprintx, respectivamente. Portanto, os atributos LAT e footprinty e LONG e footprintx, quando analisados em conjunto, atuam como identificadores de domínio para as bases de dados A e B. Figura 8 Exemplos de instâncias equivalentes. Ambas as abordagens, sintática e semântica, trabalham a posteriori, no sentido de que elas tentam alinhar os esquemas de bancos de dados préexistentes. A terceira abordagem, chamada a priori, enfatiza que, ao especificar bancos de dados que irão interagir entre si, o projetista deve começar pela adoção de um padrão apropriado (um esquema global), se existir, para guiar o

24 projeto dos esquemas. Se não existir, o projetista deve publicar uma proposta para um esquema global cobrindo o domínio de aplicação. Se cuidadosamente aplicada, a abordagem a priori contorna o problema de heterogeneidade semântica entre esquemas de bancos de dados. Se ambos os esquemas S e T seguirem o mesmo esquema global, o alinhamento de S e T se torna trivial: o alinhamento dos conceitos de S nos conceitos de T é tal que t = (s) sse s e t denotam o mesmo conceito do esquema global. Atualmente, existem diversos padrões que podem ser seguidos por projetistas de bancos de dados durante o projeto e publicação das fontes. Por exemplo, o padrão ISO 19115:2003 Geographic information metadata define um esquema de metadados para descrever objetos geográficos e é utilizado para definir esquemas para catálogos geográficos. Um esquema de metadados possui um conjunto de elementos principais e um conjunto de elementos opcionais. Para utilizar um esquema de metadados, cada aplicação deve definir seu perfil (profile), isto é, a lista de elementos opcionais que implementa. Assim, as fontes que seguirem este padrão podem interoperar de forma simples, ou seja, apenas compartilhando seus perfis. Desta forma, a semântica dos esquemas é fixada a priori pelo padrão utilizado. As ontologias, no contexto utilizado pelo World Web Consortium (W3C), podem ser utilizadas como uma forma de abordagem a priori. Uma estratégia razoável para definir um esquema comum em determinado domínio de aplicação pode ser descrita da seguinte forma: (1) selecionar fragmentos de ontologias populares, por exemplo Wordnet, que cubra os conceitos pertencentes ao domínio de aplicação; (2) alinhar os conceitos dos fragmentos distintos criando conceitos unificados; (3) publicar os conceitos unificados na forma de uma ontologia, indicando quais os conceitos obrigatórios e opcionais. A ontologia publicada pode ainda guardar a origem dos conceitos unificados de forma a garantir a clareza da semântica e a proveniência dos termos. Porém, é importante ressaltar que, qualquer que seja a abordagem adotada - sintática, semântica ou a priori - o problema de detecção de duplicatas é inerente ao processo de integração. Seja em mediação de consultas, no momento de unificar os resultados obtidos das fontes mediadas, ou em data warehouses, no momento de carregar os dados de uma fonte para outra, é essencial que seja possível detectar as instâncias equivalentes armazenadas nas diferentes fontes de dados. Nesta tese, são investigadas abordagens semânticas utilizando instâncias para alinhamento de esquemas conceituais e esquemas de classificação. De

25 modo geral, as instâncias das fontes de dados são utilizadas para gerar evidências sobre os mapeamentos entre os elementos dos esquemas. A seguir, as abordagens serão introduzidas em capítulos separados para o alinhamento de tesauros e para alinhamento de esquemas conceituais.