| Como organizar um banco de dados
moderno e eficiente
Autores: Rodrigo Atkinson e Sergio
Luís Dill (*)
Uma metodologia para desenvolvimento de data warehouse
Atualmente, em muitas empresas, o processo manual de produção
de informações gerenciais é demorado, dispendioso
e cansativo, pois reúne uma grande quantidade de dados que precisam
ser coletados de diversas fontes e convertidos em um formato apropriado
que possibilite a sua análise. Por isso, criação
de um ambiente de data warehouse surge como uma alternativa viável.
Seu princípio está na criação de um banco
de dados especializado, capaz de manipular grande volume de informações
com bom desempenho, melhorando a gerência, o controle e o acesso
aos dados. A função do data warehouse é tornar as
informações corporativas, obtidas a partir de bancos de
dados operacionais e de fontes de dados externas à organização,
acessíveis para entendimento e uso das áreas estratégicas.
O projeto de data warehouse é uma tarefa complexa
envolvendo um conjunto de conceitos e tecnologias. O sucesso de um projeto
de data warehouse está estreitamente relacionado com o entendimento
e domínio destes conceitos e tecnologias. A causa principal que
resulta em falha e insucesso de um projeto de data warehouse está
relacionada à ausência de uma metodologia abrangente capaz
de fornecer uma visão geral do processo envolvendo estes conceitos
e tecnologias.
O objetivo principal deste estudo é elaborar uma
metodologia consistente caracterizada pela sua aplicabilidade prática.
Em especial, concentramo-nos na clara identificação e descrição
das várias fases do projeto aliada à possibilidade do processo
todo ser suportado por uma ferramenta de desenvolvimento.

O Ambiente - o aspecto fundamental na
criação de uma data warehouse reside na separação
dos dados do ambiente operacional para o ambiente de data warehouse.
Obs: para melhor visualização
clique na ilustração.
Metodologia
Embora o desenvolvimento de um data warehouse possua aspectos
diferenciados com relação aos sistemas tradicionais, muitas
das lições aprendidas no desenvolvimento de sistemas OLTP
são de grande valia e devem ser utilizadas no projeto de um sistema
de data warehouse. O principal aspecto a ser considerado é a natureza
interativa do desenvolvimento, característica que distingue o ciclo
de vida de um projeto de data warehouse de outros projetos de desenvolvimento,
e que permite rapidamente liberar partes do banco de dados para o usuário,
enquanto outra parte pode estar sendo desenvolvida.
Planejamento é fundamental
O componente de gerência tem a responsabilidade de
estabelecer o plano geral do projeto. Este plano deve ser conhecido por
todos os membros que farão parte da equipe de desenvolvimento.
O plano deve estabelecer prazos, recursos disponíveis e principalmente
a expectativa dos usuários. O gerente tem a responsabilidade de
estabelecer as principais variáveis do projeto, incluindo: 1) funções
que o data warehouse irá disponibilizar; 2) alocação
de recursos (máquinas, ferramentas, pessoas); 3) qualidade (definição
de prazos não realísticos podem levar a equipe a seguir
atalhos e comprometer a qualidade do data warehouse).
Na definição são estabelecidos os
objetivos maiores com o intuito de prevenir as constantes mudanças
durante as fases do ciclo de desenvolvimento à medida que novos
requisitos são identificados, tendo, contudo, o desafio de construir
um data warehouse flexível e que tenha a habilidade de absorver
as futuras expansões. Esta fase inclui também o entendimento
dos conceitos e tecnologias relacionados ao ambiente de inserção
do data warehouse, sendo recomendado um planejamento prévio para
determinar a escolha da arquitetura e infra-estrutura necessária
para possibilitar o pleno desenvolvimento do data warehouse.
Um aspecto importante na definição do projeto
é a escolha da abordagem de desenvolvimento. A decisão de
usar a estratégia botton up ou top down deve ser tomada com cuidado.
Como modelo foi adotada a abordagem top down para a fase de definição
do projeto e botton up para as demais fases que, juntas, representam a
fase de desenvolvimento. Para tanto, foi desenvolvido um sistema automatizado
apresentado como alternativa ao sistema atual de geração
de dados analíticos, eliminando as atuais dificuldades e limitações
apresentadas. Neste caso, sugere-se a utilização de ferramentas
de desenvolvimento de data warehouse a fim de auxiliar o projetista nas
várias fases do projeto. Estas ferramentas estão divididas
nas seguintes categorias: servidor de banco de dados IBM DB2 V7.2; ferramenta
de Data warehouse IBM DB2 Warehouse Manager V7.2; ferramenta OLAP IBM
DB2 OLAP STARTER KIT V7.2. O IBM DB2 Warehouse Manager também oferece
um conjunto de recursos que auxiliam na criação dos metadados
ao longo do desenvolvimento do data warehouse.

Fases da metodologia de desenvolvimento de data warehouse.
Modelo dimensional no projeto gráfico
A técnica utilizada para a criação
do projeto lógico do data warehouse é a da modelagem dimensional.
Esta técnica é caracterizada pela criação
do esquema estrela a partir do esquema conceitual criado na fase anterior.
Esta fase é inteiramente desenvolvida através da utilização
de uma ferramenta que suporta a construção do esquema estrela.
O Centro de Data warehouse do IBM DB2 guia o projetista através
das várias etapas do projeto lógico. A primeira etapa é
a definição de um assunto que, por sua vez, compreende um
conjunto de processos relacionados a uma área específica
do negócio. O objetivo principal de um assunto é a elaboração
de um esquema de data warehouse (esquema estrela). Este esquema é
construído gradativamente através dos processos que estão
relacionados ao assunto. Um processo tem a finalidade de transformar os
dados que estão armazenados nos sistemas fonte, cuja origem dos
dados pode derivar de várias bases de dados e podem estar armazenadas
em sistemas diferentes.
Um exemplo seria o processo de transformação
dos dados de um arquivo texto para uma tabela relacional. A tabela relacional
resultante é armazenada no banco de dados do data warehouse e compreende
a dimensão tempo do esquema estrela resultante.
Através do uso do centro de data warehouse podemos
modelar processos complexos de transformação de dados. Neste
caso, não é necessário mostrar as potencialidades
e limitações do centro de data warehouse, mas apenas os
recursos utilizados na fase de criação. Os passos para a
criação da tabela de fatos do esquema estrela é descrito
a seguir. A tabela é criada a partir de uma série de processos
que são executados em seqüência. O resultado do processo
de transformação é a criação de uma
tabela que reúne os atributos que compreendem as medidas do fato.
Neste exemplo, os atributos compreendem a quantidade de alunos inscritos,
classificados, aprovados, não aprovados e suplentes. O processo
poderia ser simplificado através de um Join único entre
as tabelas de origem. Esta opção foi adotada para exemplificar
o uso de vários passos e a possibilidade de uso de tabelas temporárias
no processo de transformação dos dados que é bastante
comum em ambiente de data warehouse.
Ao final da execução de todos os processos
de transformação dos dados fonte, obtemos então o
esquema estrela resultante. Este esquema será então utilizado
posteriormente por uma ferramenta OLAP, que será utilizada para
a construção de aplicações, que serão
utilizadas pelos usuários do data warehouse.
O esquema estrela descrito como exemplo compreende as seguintes
tabelas: uma tabela de fatos (DW.TB_FATVES) e quatro tabelas dimensionais
correspondentes às dimensões Campus (DW.TB_CAM), Regime
(DW.TB_REG), Curso (DW.TB_CUR), e Tempo (DW.TB_TIME).
Principais aspectos do projeto físico
Os principais aspectos a serem considerados no projeto físico
do data warehouse são: 1) indexação; 2) materialização
de visões; 3) particionamento, paralelismo; 4) nível de
redundância dos dados; 5) sintonia dos parâmetros do banco
de dados. A sintonia do banco de dados é fundamental no ambiente
de data warehouse, visto que a natureza da carga é diferente do
ambiente transacional. Os ambientes OLTP são configurados para
realizar as transações dos vários usuários
simultâneos no menor tempo possível. Os parâmetros
de configuração ajustados são responsáveis
pela melhora do desempenho em 20 a 25%. Os 75% restantes derivam dos ajustes
dos comandos (SQL) de consulta. Isso envolve alterações
no projeto físico do banco de dados, disponibilidade e características
dos índices, replicação e particionamento de tabelas.
Exemplo de data warehouse com arquitetura centralizada
Como demonstrativo, vamos utilizar o banco de dados operacional
de uma universidade, limitando-se ao sistema de concurso vestibular. Para
implementar o data warehouse vamos utilizar a arquitetura centralizada.
Esta solução poderá posteriormente ser expandida
através da incorporação de outros módulos.
Na modelagem conceitual de data warehouse não basta
apenas realizar o levantamento de requisitos dos usuários. Adicionalmente,
as estruturas dos bancos de dados operacionais devem ser consideradas.
Os requisitos dos usuários e as estruturas dos bancos de dados
possuem influência estática e dinâmica, caracterizadas
pelas possíveis alterações nos requisitos dos usuários
e pela mudança na estrutura do banco de dados em questão.
Existem basicamente duas abordagens para obter os requisitos do data warehouse.
A primeira alternativa concentra-se mais diretamente no usuário.
A segunda alternativa dá maior ênfase aos dados existentes
nos sistemas da organização. A fase de levantamento de requisitos
deve ter como base as informações do usuário e os
dados existentes nos sistemas operacionais.
Ainda como exemplo, vamos utilizar uma extensão
ao modelo E/R para o paradigma multidimensional. Neste caso, vamos incluir
novos elementos gráficos para estender o modelo E/R. O objetivo
é auxiliar o projetista na construção de modelos
de dados para data warehouse, contemplando a já conhecida e amplamente
difundida modelagem E/R. Entretanto, essa extensão ainda não
foi incluída nas ferramentas e produtos disponíveis no mercado.
A partir dos requisitos levantados, para atender o fato vestibular, temos
um modelo conceitual composto por seis medidas: 1) vagas oferecidas; 2)
candidatos inscritos; 3) número de candidatos classificados no
vestibular; 4) número de candidatos aprovados no vestibular; 5)
candidatos não aprovados no vestibular; 6) número de candidatos
suplentes.
Além da tabela de fatos, o esquema conceitual possui
cincos dimensões: 1) a dimensão campus, onde a Universidade
oferece curso de graduação em vários campus; 2) a
dimensão regime, onde um curso pode pertencer ao regime regular
(normal) ou especial (período de férias, meses de janeiro,
fevereiro e julho); 3) a dimensão curso, sobre os vários
cursos oferecidos a cada vestibular; 4) dimensão tempo, referindo-se
aos concursos semestrais de vestibular; 5) dimensão cidade, com
o objetivo de realizar a estatística sobre a origem dos candidatos.
Implantação de metadados

Pelo menos três outros aspectos importantes merecem
ser considerados num projeto de data warehouse: os metadados, com informações
sobre o conteúdo que está armazenado no data warehouse.
Eles são elaborados gradativamente ao longo de todo o processo
de desenvolvimento. À medida em que cada passo vai sendo criado,
os metadados também são elaborados. Ao final do projeto,
os metadados podem ser explorados através de uma ferramenta chamada
Information Catalog Manager. Esta ferramenta está incluída
no Centro de data warehouse do IBM DB2. Ela nos expõe ícones
que representam um grupo de informações que podem ser exploradas
pelo usuário. Ao clicar no ícone vestibular, por exemplo,
a ferramenta abre todos os processos que fazem parte deste assunto. O
ícone “fontes relacionais” descreve todas as tabelas
fonte que foram utilizadas no processo de criação do data
warehouse. Através da exploração dos metadados, os
usuários podem encontrar as tabelas que originaram os dados do
data warehouse. A granularidade do data warehouse registra em que nível
de detalhe os dados estarão disponíveis para a análise
do usuário, isto é, determina a sua dimensionalidade, possuindo
influência direta no tamanho do banco de dados. A decisão
sobre a granularidade dos dados é um dos aspectos mais importantes
na construção do data warehouse. A escolha de um nível
de granularidade inadequada pode comprometer e até inviabilizar
o uso do data warehouse. Neste estudo de caso foi definido o nível
de granularidade semestral, ou seja, os dados são agrupados semestralmente
através das dimensões Campus, Regime e Curso.
A etapa de atualização de dados deve ser
suportada pela ferramenta de desenvolvimento que deve suportar as seguintes
atividades: automação do processo de extração,
conversão e carga dos dados; definição da periodicidade
da atualização e possibilidade de integração
com outras ferramentas.
Conclusão
Para concluir, vale dizer que o desenvolvimento de um data
warehouse constitui um avanço em relação as metodologias
anteriores, pois apresenta uma sistemática mais apropriada baseada
na realidade dos sistemas existentes nas empresas. Essa metodologia também
valoriza a experiência da equipe no desenvolvimento de sistemas
transacionais, pois as fases que a compõem já são
largamente utilizadas no desenvolvimento de sistemas OLTP. Também
é importante que a metodologia seja suportada por uma ferramenta
de desenvolvimento que aumente a produtividade, simplificando e automatizando
tarefas complexas no processo de data warehousing. O estudo do caso em
questão evidencia algumas questões que merecem uma avaliação
mais aprofundada. É o caso da metodologia, considerando diferentes
arquiteturas de data warehouse e a exploração detalhada
dos níveis conceitual e lógico. Também os aspectos
relacionados à implementação física do data
warehouse (particionamento, indexação, materialização
de visões) devem ser acrescidos à metodologia.
Referências
1. BALLARD C.; HERREMAN D.; SCHAU D.;et al. Data Modeling
Techniques for Data Warehousing. IBM – ITSO redbooks, 1998.
2. BOEHNLEIN M.; ENDE A. Deriving Initial Data warehouse Structures from
the Conceptual Data Models of the Underlying Operational Information Systems.
Ulbrich-vom. Kansas City Mo USA, 1999.
3. GOLFARELLI, Matteo; RIZZI, Steffano. A methodological framework for
Data warehouse Design. DOLAP 98 Washington, D.C., USA.
4. HAYES, Scott; GUNNING, Philip. Tunning Up for OLTP and data warehousing.
DB2 Magazine.Vol 7 Num 3, 2002.
5. HERDEM, Olaf. A Design Methodology for Data warehouses. Oldemburg Research
and Development Institute for Computer Science Tools and Systems (OFFIS).
Oldenburg, Germany.
6. IBM DB2 Universal Database. Business Intelligence Tutorial, IBM Corporation.
2000.
7. KELLY, Sean. The Data warehouse Toolkit. Editora John Wiley & Sons
Inc., New York, 1997.
8. KIMBALL, Ralph. Data warehouse Toolkit. São Paulo: Ed. Makron
Books, 1998.
9. MOODY, Daniel L.; KORTINK, Mark A.R. From Enterprise Models to Dimensional
Models: A Methodology for Data warehouse and Data mart Design. (DMDW´2000).
10. PEREIRA, Walter Adel Leite. Trabalho Individual. Disponível
em: http://www.inf.pucrs.br. 1999.
11. DILL, Sergio Luis. Uma Metodologia para Desenvolvimento de Data Warehouse
e Estudo de Caso, Dissertação de Mestrado, UFSC, Florianópolis,
2002.
12. SAPIA, C.; BLASCHKA, M.; HOFLING, G.; DINTER, B. Extending the E/R
Model for the Multidimensional Paradigm. Proc of International Workshop
on Data warehouse and Data Mining, November 1998.
13. SINGH, HARRY S. Data warehouse, Conceitos, Tecnologias, Implementação
e gerenciamento. Tradução: Mônica Rosemberg. São
Paulo, Makron Books, 2001.
dill@unijui.tche.br
e
atkinson@unijui.tche.br
(*) Este artigo, de autoria do estudante de Informática
- Sistema de Informações - da Universidade de Ijuí
(RS), Rodrigo Atkinson, é uma síntese da dissertação
submetida à Universidade Federal de Santa Catarina (UFSC), como
requisito final para a obtenção do grau de Mestre em Ciência
da Computação pelo professor Sérgio Luís Dill.

|