SOUZA, R., BAX, M.P. “Modelagem Estratégica
de Dados: Normalização Versus ‘Dimensionalização’ ”. In: Anais KMBrasil,
SP, 2003.
MODELAGEM ESTRATÉGICA DE
DADOS:
NORMALIZAÇÃO VERSUS “DIMENSIONALIZAÇÃO”
Roberto Souza
Marcello Peixoto Bax
Roberto Souza
Marcello P. Bax
Resumo
Na busca por informações que apóiem decisões
estratégicas, as corporação devem atentar ao optar por soluções de armazéns de dados
(data
warehouse ) que afirmam ter a “bala de prata”. Muitas
delas, que se dizem implantadas em poucas semanas, não garantem a flexibilidade
necessária e não realizam adequadamente as tarefas de limpeza e integração dos
dados corporativos. Em geral, o que se obtêm ao final do processo de modelagem
é uma gigantesca “massa de dados” inconsistente que pode acarretar em erros de
avaliação estratégica com perdas consideráveis para as corporações. Este artigo
discute o processo de modelagem de dados na construção de armazéns ( warehouses ) através de
análise crítica e comparativa de duas abordagens ao problema de modelagem de
dados. Serve
de pano que
tem como pano de fundo para a discussão o debate teórico entre dois
dos principais autores da área, e suas respectivas abordagens abordagens
ao problema de modelagem de dados.
Palavras-c Chave:
data warehouse, armazéns de dados, modelagem de dados,
sistemas de apoio à decisão, Sistemas OLAP.
In the search for
information that supports strategic decisions, the corporation must attempt
when opting to solutions of data warehouses that affirm to have the silver
bullet. Many of them, said to be implanted in few weeks, do not guarantee the
necessary flexibility and they adequately do not carry through the tasks of
cleanness and integration of the corporative data. In general, what is gotten at the end of
the modeling process is a gigantic and inconsistent data mass that can bring errors of strategic
evaluation with considerable losses for the corporations. This article argues
the process of data modeling in the construction of data warehouses through
critical and comparative analysis of two common approaches to the problem of data modeling. Serving as
a background the
article presents the theoretical debate between two of the main
authors in the area, and its
respective approaches to the
problem.
Keywords: data warehouse, data modeling,
decision support systems, OLAP systems.
Evento internacional sobre Inteligência Empresarial, na cidade de São Paulo em 2002, discutiu os últimos avanços sobre data warehouse. Dois pesquisadores participaram do evento: Bill Inmon e Sean Kelly. O primeiro é considerado o “pai do data warehouse”, tendo publicado os primeiros artigos e livros sobre o tema; o segundo é considerado uma nova referência na área, autor de recentes livros sobre o assunto.
Os dois pesquisadores, ao lado de Ralph Kimball, são apontados como os três grandes líderes intelectuais desta recente tecnologia. No congresso principal do evento referido acima, S. Kelly defendeu o uso de soluções prontas de data warehouse para o suporte a decisões estratégicas como a melhor e mais viável alternativa a ser seguida por qualquer corporação interessada em melhorar seus processos decisórios.
Como se sabe, nos anos 90 houve grande expansão dos sistemas
integrados de gestão empresarial (ERP´s), com seus modelos transacionais,
infra-estrutura e ferramentas para automação do ambiente operacional
corporativo. Diversas aplicações se firmaram como soluções neste campo, tais como:
SAP, J.D. Edwards, BAAN, entre outros[i].
Como se sabe,
estas aplicações sSão soluções que vêm do fornecedor com
aproximadamente 60% dos processos pré-definidos e 40% personalizáveis. A grande
base instalada que
comprova e o relativo sucesso dessas soluções
vêm fortalecendo a crença de que estratégia análoga deve também ser apropriada,
e pode ser aplicada à modelagem de warehouses.
Seguindo exatamente essa idéia, S. Kelly defende
um modelo genérico, teoricamente personalizável para implantação de data
warehouse. Assim como nos existe para os sistemas de gestão
empresarial, para o autor existiria um modelo genérico adaptável a virtualmente
qualquer corporação, capaz de fornecer asas informações úteis para o
suporte a decisões. Para argumentar em favor da idéia o autor se apóia no menor
tempo de implementação, já que boa parte do modelo é adquirida pronta, e seu
efeito positivo no
cálculo do retorno do investimento.
Conforme se pôde notar da participação no evento citado
acima e da leitura dos artigos referenciados, existe uma grande diferença
fundamental nas
abordagens de modelagem de warehouses presentes no discurso dos dois
autores, S. Kelly e B. Inmon. Inspirado em um debate
entre os dois autores no congresso
anteriormente citado, este artigo tem o objetivo de discutir o alto grau
de normalização visando flexibilidade e consistência do warehouse
defendida por Inmon, versus a desnormalização das dimensões para
satisfazer consultas ad-hoc: estratégia defendida por Kelly e nomeada
“dimensionalization”. Todos estes conceitos são explicados na seqüência deste
documento, na Seção 3. Em seguida, na Seção 4 o artigo coloca em perspectiva o
conceito de dimensionalization visando nível de serviço, versus o
conceito de normalização buscando flexibilidade no processo de modelagem.
Finalmente, na Sessão 5, serão feitas algumas considerações à guisa de conclusãofinais.
Após décadas implantando sistemas transacionais, voltados
para automatizar processos operacionais, as corporações acreditaram que estariam
construindo, em paralelo, também uma fundação sólida para suas necessidades
futuras relativas à geração de informações estratégicas de apoio a processos
decisórios. O fato é que esse benefício, que se espera adjacente,
não virá sem uma reflexão teórica mais profunda e específica sobre como
organizar os dados de forma a poder explorá-los no apóio à tomada de decisões
estratégicas.
Vários fatores desencadearam, no início dos anos 90, o
esforço teórico/prático para o desenvolvimento do conceito de data warehouse, dentre os quais cita-se:
- a falta
de integração entre as diversas aplicações transacionais que acumulavam dados;
- a
inexistência de dados históricos, passíveis de apoiar decisões futuras;
- a
modelagem tradicional, excessivamente voltada para manipulação de transações
atômicas;
- e ainda a
dificuldade de transição entre as diversas tecnologias de banco de dados.
Juntos esses e outros fatores não impediram a construção de ambientes mais eficientes do ponto de vista operacional, porém eles continuam a dificultar o processo de extração de informações úteis no apoio à tomada de decisões estratégicas. Dificuldades ainda persistem nesse campo.
Buscando apoiar os processos de tomada de decisões estratégicas, verificou-se que a flexibilidade no acesso aos dados (ou flexibilidade da informação) é um aspecto crucial a ser considerado. Ou seja, na implementação de um data warehouse os dados devem servir de origem para qualquer consulta gerencial que possa ser desejada, pelos diversos sistemas ou setores da corporação, evitando inconsistências causadas por replicações dos mesmos.
Além da flexibilidade, outro aspecto importante (para a
construção de um warehouse) é o grande esforço necessário para
extrair, transformar e integrar dados oriundos dos chamados “sistemas legados”,
normalmente presentes e espalhados por toda a empresa. A tarefa de integração
pode ser tão complexa, que muitos se curvam diante dela e
partem para soluções não integradas – vem daí, em parte, a
crença de que data marts isolados são suficientes, prescindindo de um modelo
corporativo global. Porém, após a construção de um pequeno número de data
marts isolados, diversos inconvenientes serão notados:
- esforços e custos duplicados para extração de dados comuns;
- potencial redundância e conseqüente inconsistência de dados e informações;
- integração precária entre representações de diversos modelos isolados; dentre outros.
Talvez a principal razão da grande aceitação do conceito de data warehouse seja o fato deste último possibilitar o suporte a decisões de toda a corporação através de metodologia estruturada e rigorosa, até então inexistente. O escopo destas decisões pode ser bem focado e direcionado a um determinado assunto, ou pode ser amplo e envolver mudanças substanciais nas estratégias da corporação.
Normalização é o processo de organização de dados em um banco de dados. Isto inclui a criação de tabelas e o estabelecimento de relacionamentos entre elas de acordo com regras formuladas para proteger os dados e tornar o banco de dados mais flexível, eliminando dois aspectos: redundância e dependência inconsistente.
Redundância consiste em desperdício de espaço em disco e traz problemas de manutenção. Um dado existente em mais de um lugar requer que o mesmo seja modificado exatamente da mesma maneira em todas as localizações. Uma mudança de endereço de cliente é muito mais simples se o dado é armazenado apenas na tabela de clientes e em nenhum outro lugar no banco de dados.
A pesquisa na tabela de clientes procurando por um endereço de um cliente específico é intuitiva, mas não faz sentido pesquisar na tabela de clientes buscando o salário do empregado que costuma atender àquele cliente em particular. O salário do empregado é relacionado, ou é dependente, do empregado e desta forma deve estar armazenado na tabela de empregados. Dependências inconsistentes podem dificultar o acesso aos dados.
Existem algumas regras para normalização de bancos de dados. A cada regra é dado o nome Forma Normal. Se a primeira regra é observada, o banco de dados é considerado na “primeira forma normal”. Se as primeiras três regras são observadas, o banco de dados é considerado na “terceira forma normal”, e assim sucessivamente.
A exemplo de muitas regras, modelos e especificações formais, cenários reais nem sempre permitem conformidade perfeita. Em geral, normalização requer objetos adicionais e alguns consideram este fato indesejável. Em uma aplicação transacional, às vezes pode-se conseguir uma melhor performance com a violação de algumas das regras de normalização. Ao se decidir por fazê-lo e comprometer o modelo, é necessário garantir que as aplicações que acessam o banco de dados tratem todos os problemas possíveis como a redundância e dependências inconsistentes. É necessário também ter em mente que um modelo não normalizado tem sua evolução dificultada à medida que ocorrem alterações nos requisitos do ambiente.
Um data warehouse é uma coleção de dados usada no suporte ao processo de decisão gerencial com as seguintes características: orientada por assuntos (ao assunto); integrada; variável no tempo; não volátil.
Dados brutos destinados ao data warehouse vêm quase sempre de ambientes não integrados (freqüentemente antigos sistemas legados). O data warehouse é um repositório de dados fisicamente separado dos sistemas transacionais operacionais mesmo que os dados do data warehouse sejam gerados a partir de dados extraídos do ambiente operacional.
O objetivo de um data warehouse é permitir o fácil acesso a dados consistentes para proporcionar melhores decisões estratégicas.
Um data mart contém um subconjunto dos
dados corporativos de interesse a um grupo específico de usuários. Este subconjunto
de dados pode ser extraído de um ou mais sistemas operacionais, podem ser dados
de origens externas à corporação, ou dados extraídos de um data warehouse
corporativo. A principal diferença entre um data warehouse corporativo e um data mart é o fato de que um data mart
contém uma porção dos dados corporativos e tem tendência à sumarização dos
dados, enquanto um data warehouse contém a visão geral
dos dados corporativos detalhados.
Vários data marts podem ser construídos a
partir de um data warehouse,
cada qual atendendo os requisitos por consultas e por desempenhoperformance
de um respectivo setor da corporação. Esta é a solução ou estratégia mais
defendida pelos teóricos a favor da normalização, que, promovendo a
flexibilidade de modelagem, proporciona uma melhor
manutenção evolutivação do projeto.
Outra opção seria a construção de modelos distintos de data marts
para cada setor de uma corporação, sem a existência de
uma modelagem global dos dados corporativos. Embora esta opção possa parecer mais
sedutora para muitos, é necessária extrema cautela para não produzir modelos
isolados e inconsistentes – o que geralmente acontece quando não se tem
inicialmente um modelo corporativo integrado e consolidado.
Um star schema ou esquema em estrela, é um modelo
relacional com uma “tabela de fato” e muitas “tabelas
de dimensão”. A tabela de fato contém uma ou várias colunas numéricas que medem
o desempenho de um dado aspecto do negócio tratado. Estas
colunas numéricas podem representar unidades vendidas, custo unitário, valor de
venda, horas trabalhadas, entre outros. Os fatos normalmente são numéricos, com
o objetivo de fornecer avaliações de desempenho de uma corporação com dados
agregados, obtidos através de médias, somas, máximos, mínimos e contadores.
As tabelas de dimensão descrevem os fatos. Sendo o fato o valor de venda de um produto, existiriam dimensões como: cliente, vendedor, produto, tempo, loja, entre outras.
A maioria das dimensões é hierárquica. Uma dimensão Tempo, por exemplo, pode ser agregada em diferentes níveis hierárquicos: em horas, dias, semanas, meses, trimestres e anos. A dimensão Produto pode ser agregada em departamento, categoria, subcategoria, etc., de acordo com os níveis de detalhamento de análise desejados.
São consultas criadas pelos usuários do data warehouse.
São geralmente consultas feitas através de ferramentas que acessam diretamente
do banco de dados, expondo as suas tabelas. Como nem todas as consultadas são
previstas durante a concepção dos modelos em estrela, consultas ad-hoc
podem não apresentar bom desempenho em termos de tempo de execuçãoa
performance. Em geral Eessas consultaslas
podem
não terem
sidoforam
consideradas na otimização do modelo, assim não sendoforam criados objetos
como índices que as otimizeariam. Em uma consulta ad
hoc atributos de várias tabelas contendo grande número de
registros podem ser selecionados resultando numa operação de junção (em SQL,
conhecido como um join entre tabelas)
pesada e não otimizada sobre o banco de dados.
Em toda aplicação transacional existe um fator técnico crucial que define o desempenho esperado do sistema no ambiente operacional, em termos de tempo, este fator é chamado “nível de serviço”. Um exemplo de atendimento a determinado nível de serviço seria, por exemplo, garantir que uma determinada transação, como a venda de um produto, não poderia demorar mais do que um décimo de segundo. Ou ainda, garantir que a extração do saldo bancário de um correntista não poderia levar mais do que cinco segundos.
Nome dado por Sean Kelly ao conceito de se projetar o data warehouse trabalhando-se com
tabelas de dimensão apenas na segunda forma normal. Desta forma atributos não
dependentes da chave primária serão armazenados na própria tabela, sem a
criação de uma nova tabela para acolhe-los. Assim, Ggrupos de
atributos que se aplicam a mais de um registro na tabela de dimensão
permanecerão na mesma tabela ocasionando redundância de dados(precisaria
detalhar mais esse conceito, estendendo este parágrafo).
O objetivo desta tática é eliminar o número de junções de
tabelas que seriam necessários para satisfazer consultas ad hoc em relação ao um modelo
normalizado, tornando assim o modelo mais apto pronto para
suportar tais consultas, embora menos normalizado.
Existe um consenso em se admitir uma certa tolerância sobre
a desnormalização das dimensões na construção de data marts. Assim o conceito de dimensionalização,
trata-se de estender esta idéia à
construção do data warehouse corporativo
com a justificativa de que nem todas as consultas poderiam ser previstas na
construção dos diversos data marts.
Em seu discurso no congresso citado, defendendo o uso de soluções prontas para a implantação de data warehouse:
“Quem optaria hoje por criar todo um
sistema de gestão financeira para uma corporação?”, Kelly contava com o
conhecimento da platéia sobre os produtos existentes voltados para gestão
empresarial. Como ninguém se manifestou, ele continuou: “Então o que os faz pensar que deveriam escrever um sistema de suporte
a decisões?”.
Kelly afirmou que era necessário repetir no ambiente de data warehouse o que empresas como a SAP e outras fizeram no mundo da gestão de processos empresariais. Ele foi um dos idealizadores e desenvolvedor do Industry Warehouse Studios (IWS), hoje comercializado pela Sybase. O IWS é uma das fortes soluções disponíveis no mercado com este objetivo. As principais características do produto apontadas pela Sybase e defendidas pela teoria de Sean Kelly são:
·
sSuporte a
consultas efetuadas diretamente no data warehouse sem a necessidade de
uma arquitetura em duas camadas com data marts construídos após o data warehouse;
·
uUso de um modelo
pré-definido de data warehouse reduzindo o tempo de
projeto com atributos empresariais e granularidade previamente projetados,
implementados e reutilizáveis;
·
Pprojeto
do modelo desenvolvido continuamente por especialistas e testado em diversas
corporações com o passar dos anos.
Kelly expõe o seguinte gráfico sobre o uso deste tipo de solução genérica, versus o desenvolvimento do data warehouse.

FIGURA 1 - Evolução em termos de tempo das consultas ao DW.
Nota-se que a disponibilização de consultas ad hoc ao data warehouse como ponto de partida da utilização da solução pré-definida é um dos pilares de sustentação da teoria definida por Kelly a favor de soluções prontas. Isto tornaria possível a quase imediata implantação da solução e possibilitaria o rápido retorno do investimento, criando a imagem de um projeto rapidamente bem-sucedido.
Porém,
pode-se argumentar que Aa representação da evolução no tempo dos
tipos de consultas tal
como exposta por S. Kelly, e retratada na figura anterior, não é
necessariamente correta: um procedimento deo
acompanhamento das consultas ad hoc realizadas, visando
rastreá-las parae
construir mecanismos para melhor disponibilizar e otimizar as novas informações
necessárias devepode ser realizado no ambiente com DW
próprio. Isto O que certamente reduziria
consideravelmente a inclinação da curva “dw próprio”. Este ganho é considerado,
sendo simplesmente parte da evolução natural da solução
corporativa com “dw próprio”.
Como a solução proposta por S. Kelly se sustenta em sua
rápida aceitação através daspelo ganho com as
consultas ad hoc, é necessário que as mesmas
tenham uma boa performance. Para suportar bem este tipo de consulta é proposto
um modelo com “dimensionalization”,
termo novo escolhido
pelo autor supostamente pela recusa em dizer explicitamente que as tabelas de
dimensão do data warehouse foram
desnormalizadas, comprometendo a consistência e a flexibilidade do modelo
corporativo.
Em uma
aplicação transacional existe um fator crucial que define a performance
esperada do
ambiente operacional – o chamado nível de serviço. Um exemplo disto
seria definir que
uma determinada transação como a venda de um produto não poderia demorar mais
do que um décimo de segundo, ou a
extração do saldo bancário de um correntista não poderia levar mais do que
cinco segundos.
Acordos determinando faixas para nível de serviço (ver definição na Seção 3.6) existem no ambiente transacional operacional, mas não deveriam necessariamente se aplicar ao ambiente de data warehouse, tendo em vista que este ambiente tem como principal objetivo atender consultas variáveis de qualquer setor da corporação.
Por
outro lado, poderia-se
argumentar que aA desnormalização do data warehouse
compromete a qualidade de seu modelo e introduz inconsistência nos dados.
Alterações no projeto, nos dados, nos requisitos de usuário ou no escopo do
projeto são prejudicados ao se optar por este caminho. Vários projetos têm
fracassado com o passar dos anos por estes motivos.
Em The Enterprise Data
Warehouse and Data Mart Debate, Nagraj Alur afirmadiz:
“Várias soluções de suporte a decisão estratégica como o Information Center da IBM focaram em disponibilizar consultas ad hoc
para usuários ou desenvolvedores ao invés de fornecer uma visão corporativa que
somente seria obtida através de um modelo apropriado e normalizado. Isto tem
levado a duplicação de esforços na implantação e evolução da solução dentro de
diversas corporações o que traz aumento de custos e inconsistência nas
informações”. O que inicialmente poderia ser vendido comoera um
projeto bem sucedido com rápido e elevado retorno de investimento, acaba por se
tornargerar
um ambiente inconsistente, com informações não confiáveis, com alto custo de
evolução ou mesmo incapaz de evoluir para acompanhar as necessidades da
corporação. Além
disso Éé freqüente um cenário resultante no qual
existe a necessidade de se duplicar os processos de extração de dados para
popular diversos modelos inconsistentes e isolados.
Um data warehouse
deve ter dados históricos, ser normalizado, sua granularidade deve ser adequada
para atender aos diferentes níveis de análise, e deve responder não apenas às
consultas numéricas, mas também às mais diferentes consultas textuais
possíveis. Esta flexibilidade somente será atingida com um modelo dotado de nível de
normalização adequado.
Para atender com performancedesempenho
adequadao às diversas consultas numéricas, onde
muitas vezes se impõe determinadoum nível
de serviço, Inmon recomenda a construção de data marts. Esta medida garante a
flexibilidade e preserva
a consistência do modelo corporativo assim como sua evolução com o passar
do tempo.
No atual contexto de acirrada concorrência e
competição global, oO processo de análise estratégica deve seré
algo passível deque
evoluçãoi
no tempo de forma
extremamente dinâmica. Tal processo não devendo, nunca
estacionar, ou ser consideradondo como
um projeto fechado e concluído. Em todos os ramos de atividade
existe uma contínua busca por eficiência, qualidade e lucratividade com uma
constante evolução dos requisitos corporativos aplicados sobre o data
warehouse.
A flexibilidade é um dos pilares fundamentais do data
warehouse
e somente será garantida através de um modelo corporativo adequado e
normalizado.
Quando se avalia a possibilidade
de optar pela aquisição
de modelos pré-definidos versus
optar pela análise e desenvolvimento de soluções corporativas alguns aspectos devem ser
considerados,
tais como: a flexibilidade, o tempo de análise e criação do modelo, o
tempo de implantação da solução, o custo total do projeto, o retorno do
investimento, entre outros aspectos. Não se deve dar ênfase ou descartar-se nenhum fatordesses aspectos
no momento da decisão.
Por
outro lado, Oo histórico da implementação de sistemas de
gestão empresarial pré-definidos prontos é vasto: existem ótimos exemplos de
sucesso e também retumbantes exemplos de fracasso. Muitas corporações se
adaptam bem e conseguem personalizar o modelo adquirido com sucesso, mas várias
outras vivem a experiência descrita como similar a de uma pessoa que “compra um chapéu como o primeiro passo para
depois verificar se ele se encaixa em sua própria cabeça” -– certamente o que é
necessário para tornar a cabeça de alguém compatível com determinado chapéu
poderá ser tão traumático quanto
as tarefas necessárias para tornar a cabeça de alguémos processos
decisórios de uma organização compatível com determinado chapéumodelo estratégico pré-definido. São
experiências que podem ser muitas vezes extremamente
dolorosas e traumáticas. Traumas semelhantes podem seresses sofridos
em iniciativas de implantação de soluções inadequadas para a análise
estratégica das
organizações.
À
guisa de conclusão pode-se afirmar que, Nna busca por
informações estratégicas, é necessário estar atento para não optar por soluções
que dizem ter a “bala de prata”. Aqui mesmo no Brasil existem vários
fornecedores de soluções de análise que se dizem implantadas em poucas semanas.
Estas soluções às
vezes mais
rápidas e “mais
baratas”não dificilmente têm podem garantir a
flexibilidade necessária e não realizarm
adequadamente as tarefas de limpeza e integração de dados necessários a
constituição de um bom modelo de data warehouse. Com tais solução oO
que se obtêm geralmente
no final é uma massa de dados inconsistente que por muitas vezes pode
acarretar em um erro de avaliação estratégica gerando perdas enormes a uma
corporação.
ALUR, N. The Enterprise Data Warehouse and Data Mart Debate [online] Disponível na Internet via WWW. URL: http://www.dbaint.com/pdf/v10n22.pdf. Arquivo consultado em junho de 2002.
DATE, C.
J. A Guide to THE SQL Standard, ADDISON-WESLEY, 1997
Inmon, W.
H. Building the data warehouse, John Wiley & Sons, Inc., New York, 1997
________. Hackthorn, D. Richard Using the Data
Warehouse, John Wiley & Sons, Inc., 1994
ROGERS, C. Intangible ROI Benefits Using Idustry Warehouse Studios [online] Disponível na Internet via WWW. URL: http://www.sybase.com/content/1008960/iws_wp_l01296.pdf. Arquivo consultado em junho de 2002.
WINSBERG, P. Modeling the Data Warehouse and Data Mart [online] Disponível na Internet via WWW. URL: http://www.evaltech.com/wpapers/dwmodel.pdf. Arquivo consultado em junho de 2002.
[i] Figuram como opções interessantes também os brasileiros: Corpore (fornecido pela RM Sistemas), Microsiga, entre outros.