Atualização Incremental de Data Warehouses


Aluno: Pedro Paulo de Souza Bento da Silva - pedropaulosbs at linux.ime.usp.br
Orientador: João Eduardo Ferreira - jef at ime.usp.br
Co-Orientador: Pedro Losco Takecian - plt at ime.usp.br



Introdução

Um Data Warehouse (DW) é uma estrutura de tabelas que integra um grande volume de dados proveniente de bancos de dados transacionais não necessariamente homogêneos. Com o DW abastecido, é possível realizar uma série de operações de análise, tais como geração de relatórios, data mining, geração de cubos com a ajuda de ferramentas OLAP, etc. Além disso, é possível gerar bancos de dados históricos, que são bancos que contém dados antigos que não seriam acessados frequentemente mas que, se permanecessem no banco transacional, afetariam o desempenho do sistema gerenciador de banco de dados.

Em suma, DW's são ferramentas que integram banco de dados e que dão grande suporte a análise de dados.

Neste texto, utilizaremos o termo Data Warehouse em vez de Armazém de Dados porque o primeiro já tem o uso consagrado em livros e artigos em português.

Objetivo

Atualmente, o grupo de Banco de Dados do IME-USP, participa de diversos projetos de pesquisa relacionados a análise de dados clínicos e moleculares. Cada um desses projetos possui muitos gigabytes de dados e, a cada mês, mais dados chegam.

Era sabido que utilizar um DW para integrar esses dados seria a melhor solução, no entanto, devido a grande quantidade de dados inconsistentes e também, devido a grande freqüência com que os requisitos do sistema eram modificados, optou-se por construir um DW não incremental para cada projeto. Um DW não incremental significa que sempre que for necessário acrescentar um novo conjunto de dados, deve-se obrigatoriamente apagar toda a estrutura de tabelas e reinserir os dados antigos junto com os novos. Além disso, por existirem vários DW's, e estes estarem distribuídos por computadores que não compartilham necessariamente o mesmo local físico, o programador é obrigado a ir e vir, de uma sala a outra, para abastecê-los.

Essa decisão de DW sem integração e não incremental, foi suficiente para sanar as necessidades do grupo de banco de dados temporariamente, no entanto, com o aumento do número de projetos, o volume cada vez maior de dados e as solicitações de análise cada vez mais frequentes, a construção de um único DW incremental tornou-se essencial.

O objetivo desse trabalho é desenvolver um DW incremental que integre todos os projetos de análise clínica e molecular em que o grupo de banco de dados do IME-USP está envolvido.

Atividades Já Realizadas

Aluno de iniciação científica orientado pelo Prof. Jõao Eduardo desde o início de 2008, tenho estudado a área de Análise de Dados (Business Inteligence), que engloba a área de Data Warehouses. Junto com o doutorando Pedro Losco e o Prof. Dr. Márcio Oikawa, encontramos algumas referências que estão sendo de grande ajuda na parte de modelagem do DW e na parte de extração e transformação dos dados. Além disso, todos os envolvidos no projeto adquiriram grande familiaridade com os dados devido às horas gastas depurando algum problema no processo de carga do DW, construindo etapas de transformação e limpeza de dados, gerando relatórios, remodelando ou fazendo outras tarefas da manutenção dos DW's.

Atividades não diretamente ligadas a este trabalho de formatura, mas que estão relacionadas a área de Análise de Dados foram realizadas desde o início de minha iniciação científica, tais como: implementação de DW's simplificados, elaboração de scripts de extração/transformação/carga, pesquisa de ferramentas de extração/transformação/carga, pesquisa de ferramentas OLAP, geração de relatórios, etc.

Cronograma
Julho Agosto Setembro Outubro Novembro
Estudo/Discussão das referências bibliográficas
Modelagem do DW
Implementação dos Scripts de Extração/transformação/carga dos dados
Testes
Pôster
Apresentação
Monografia
Estrutura Esperada Da Monografia

A monografia será divida em duas partes: a primeira conterá explicações sobre o tema do trabalho desenvolvido de uma forma técnica enquanto a segunda relacionará a experiência adquirida com o curso de Ciência da Computação, conforme o roteiro do Prof. Carlos Eduardo. A estrutura apresentada abaixo se refere à primeira parte da monografia.

Introdução: Visão geral do projeto e da situação dos DW's utilizados pelo grupo de Banco de Dados.
Conceitos e tecnologias estudadas: Explicação mais detalhada do conceito de DW's, de sua arquitetura e principais aplicações.
Atividades realizadas: Explicação do método utilizado para modelar o DW e da parte de extração/transformação/carga dos dados.
Resultados e produtos obtidos: Reflexos do novo sistema incremental e centralizado no processo de alimentação dos projetos.
Conclusões.
Bibliografia.

Principais Referências

J. E. Ferreira, I. C. Italiano, O. K. Takai. Introdução a banco de dados,2005. Disponível em:
http://www.ime.usp.br/~jef/apostila.pdf (acessado pela última vez em Junho/2009)

V. Rainardi. Building a data warehouse: with examples in SQL Server.1a.Edição.APRESS, 2008.

Wikipedia. Data Warehouses. Disponível em:
http://en.wikipedia.org/wiki/Data_warehouse (acessado pela última vez em Junho/2009)

Wikipedia. Online analytical processing disponível em:
http://en.wikipedia.org/wiki/Online_analytical_processing (acessado pela última vez em Junho/2009)

Wikipedia. Extract, transform, load disponível em:
http://en.wikipedia.org/wiki/Extract,_transform,_load (acessado pela última vez em Junho/2009)