Artigo SQL Magazine 54 - Modelagem de um Sistema de Integração de Fontes de Dados Heterogêneas

Neste artigo abordarei diferentes formas de modelar uma base de dados para que ela possa ser usada por um sistema de integração.

Esse artigo faz parte da revista SQL Magazine edição 54. Clique aqui para ler todos os artigos desta edição

Clique aqui para ler esse artigo em PDF

Banco de dados

Modelagem de um Sistema de Integração de Fontes de Dados Heterogêneas

 

Uma das características mais marcantes dos tempos atuais é o crescimento vertiginoso de dados disponíveis para acesso via Web. Um dos fatores que mais contribui para esta explosão é a facilidade que as pessoas encontram em publicar dados. Planilhas de custo, relatórios de atividades, gráficos de produção são exemplos que mostram que não existem limites para as informações que podem ser compartilhadas. Mesmo usuários inexperientes podem rapidamente gerar páginas HTML, usando ferramentas intuitivas no estilo Wiki.

Dessa diversidade surge uma rede de informações, possivelmente relacionadas, espalhadas em diversos pontos e modeladas em diferentes formatos. O problema? Acessar todas essas fontes de dados de uma forma transparente, preferencialmente utilizando uma interface única de consulta. Esse é na verdade o objetivo primordial dos sistemas de integração de dados.

Sistemas deste tipo são usados em diversas áreas de interesse, tanto a nível mais científico (como o acesso a bases de dados biológicas) quanto a nível mais geral (como as ferramentas de busca no estilo Google Desktop ou MSN Search).  

Neste artigo, abordarei diferentes formas de modelar uma base de dados para que ela possa ser usada por um sistema de integração. Ao investigar o problema, traçarei um paralelo com a modelagem orientada a objetos, salientando como ela pode contribuir para o caso aqui estudado.

Aplicação de exemplo

Muitas pessoas recorrem à Web para procurar informações sobre filmes. E esse comportamento é plenamente justificado.  Na Web, o domínio de filmes costuma ser um dos mais ativos. O site IMDB é um exemplo disso. Trata-se de um serviço de consulta que permite descobrir diversas informações sobre um filme, como o seu elenco, o ano de lançamento, curiosidades e filmes com temática semelhante.

No entanto, apesar de possuir informações sobre um acervo de filmes gigantesco, a interface de consulta deixa a desejar. Por exemplo, não existe uma forma rápida de descobrir quais filmes foram lançados em 1999, ou quais diretores atuaram com a produtora MGM.

Percebendo uma oportunidade de mercado, uma empresa decidiu lançar um novo serviço de pesquisa por filmes com uma interface de consulta mais rica. A parte interessante do sistema é a forma como se alimenta a base de filmes. Ao invés de depender de recursos humanos para inserir os filmes na base, o sistema deve coletar essas informações automaticamente em páginas HTML na Web.

Para que um sistema desse porte seja construído, alguns módulos precisariam ser desenvolvidos, como o crawler e o wrapper. O papel do crawler é varrer a Web à procura de páginas HTML que tratem sobre filmes. Já o papel do wrapper é extrair as informações das páginas em um formato que facilite o seu processamento.  No nosso caso, o wrapper deve extrair tabelas de dados a partir de páginas HTML.

Para o fim proposto neste artigo, os detalhes de implementação do crawler e do wrapper não são relevantes. Assim, vamos supor que eles já existam, e que após a sua execução a coleção de tabelas indicada na Tabela 1 pôde ser extraída.

 

Tabela A

titulo

ano

genero

Pulp Fiction

1994

Acao

Armageddon

1998

Ficcao

American Pie

1999

Comedia

 

Tabela B

titulo

ano

diretor

Pulp Fiction

1994

Tarantino

The Matrix

1999

Wachowski

 

 

 " [...] continue lendo...

Artigos relacionados