Você está na página 1de 20

20

DATA WAREHOUSE & OLAP


(Fbio Moura Pereira)

Organizaes modernas para se manterem competitivas, necessitam responder rapidamente s
mudanas do mercado. Para tal, elas necessitam de rpido acesso s informaes relevantes
antes de tomarem qualquer deciso de negcio. Por outro lado, o crescimento explosivo de
bases de dados empresariais, governamentais e cientficas tm ultrapassado o poder das
tecnologias convencionais de banco de dados para interpretar e digerir estes dados, criando a
necessidade de uma nova gerao de ferramentas e tcnicas para automatizar e dar mais
inteligncia aos processos analticos em bases de dados (FSS, 1996). Neste contexto, o campo
de Sistemas de Suporte Deciso (Decision Support Systems - DSS) tem crescido
rapidamente. Sistemas de Suporte Deciso possuem a finalidade de prover automaticamente,
para os responsveis pelo processo de tomada de deciso dentro das organizaes, insights
descobertos e informaes agregadas de valor, necessrias para se fazer as melhores escolhas
e de forma mais rpida (CAMPOS; FILHO, 2000).
Neste cenrio de apoio tomada de deciso, onde h a necessidade de automao do processo
de obteno, organizao e tratamento dos dados para anlise, surgem os Sistemas de Suporte
Deciso, envolvendo as seguintes tecnologias de Banco de Dados e Inteligncia Artificial:
Data Warehouse, OLAP e Minerao de Dados.
Nas prximas sees so mostradas estas tecnologias, alm do projeto MATRIKS, onde este
trabalho est inserido.

1 Data Warehouse
Sistemas de Suporte Deciso (DSS) do lugar a diferentes requisitos de tecnologias de
banco de dados daqueles exigidos em aplicaes de processamento transacional tradicional.
Em DSS, o ambiente de dados fundamentalmente diferente do ambiente convencional de
processamento de transaes. Em um ambiente convencional, os dados so organizados de
forma a otimizar as operaes transacionais, j em um ambiente de DSS, os dados so
organizados para fins de explorao e anlise.
Desta forma, as aplicaes tpicas de uma empresa podem ser classificadas em: aplicaes do
negcio, que garantem a operao da empresa (sistemas de produo); e aplicaes sobre o
negcio, que analisam o negcio (sistemas de suporte deciso e sistemas de informaes
executivas) (CAMPOS; FILHO, 2000).
21
Para dar suporte a esses dois tipos de aplicaes, uma arquitetura de dados adequada deve
possuir: bancos de dados operacionais, para dar suporte s aplicaes do negcio; e os bancos
de dados de apoio deciso, para dar suporte s aplicaes sobre o negcio. Desta forma,
normalmente o data warehouse mantido separadamente da base de dados operacional da
organizao, existindo vrias razes para tal. O data warehouse serve como base para o
processamento analtico on-line (OLAP) e a minerao de dados, onde os requisitos
funcionais e de performance so bem diferentes das aplicaes de processamento transacional
on-line (OLTP), cujos bancos de dados tradicionais do suporte.
Aplicaes de OLTP normalmente automatizam as operaes do dia a dia das organizaes,
tais como entrada de pedidos e transaes bancrias. Estas transaes tem as seguintes
caractersticas:
So estruturadas e repetitivas, e consistem em transaes pequenas, isoladas e atmicas;
Requerem atualizao de dados constante, e relativamente fazem poucas leituras aos
mesmos. As atualizaes so feitas de acordo com a mudana de estado do objeto a que
ele se refere, no sendo guardado histrico destas atualizaes.
Consistncia e recuperao da base de dados so questes crticas;
A maximizao do desempenho transacional a principal mtrica de desempenho;
Os dados so organizados orientados por atividades/operaes funcionais. A base de
dados projetada para refletir a semntica operacional de aplicaes conhecidas, e
minimizar conflitos de concorrncia.
Os data warehouses, em contraste, visam suporte deciso, e possuem as seguintes
caractersticas:
Dados histricos, resumidos e consolidados so mais importantes do que registros
individuais detalhados. Sistemas de Suporte Deciso requerem dados que podem ser
perdidos no ambiente operacional, por exemplo, a anlise de tendncias e previses
requerem dados histricos, entretanto, bases de dados operacionais armazenam apenas os
dados correntes;
Dados integrados de diversas fontes operacionais: data warehouses podem conter dados
consolidados de diversas bases de dados operacionais heterogneas. As diferentes fontes
podem conter dados de qualidade varivel ou usar representaes, cdigos, ou formatos
inconsistentes. Desta forma, importante integrar os dados (nomes, unidades de medidas),
de forma que sejam transformados at um estado uniforme. Por exemplo, o dado sexo:
uma aplicao pode codific-lo como M/F, outra como H/M ou ainda 0/1. No data
22
warehouse, estes dados so convertidos para um estado uniforme, codificando-o de uma
nica forma;
Possuem grande volume de dados: visto que data warehouses podem conter dados
consolidados de diversas bases de dados operacionais, e potencialmente sobre longos
perodos de tempo, eles tendem a ser ordens de magnitude maiores do que as bases de
dados operacionais;
Orientados por assunto: caracteriza o fato do data warehouse armazenar informaes a
respeito de assuntos importantes para o negcio da empresa para fins de anlise. Por
exemplo, produtos, lojas, clientes. Enquanto que, em ambientes operacionais os dados
esto organizados voltados para atividades, isto , esto modelados e armazenados
voltados para as operaes transacionais do dia a dia da empresa, onde normalmente so
acessados por suas chaves primrias;
Otimizados fisicamente para consultas analticas (OLAP): a carga de trabalho em data
warehouses de consultas intensivas, complexas e ad-hoc, que podem acessar milhes de
registros, e executar vrias junes e agregaes. Um data warehouse contm dados
extrados do ambiente de produo da empresa, selecionados, depurados, e principalmente
otimizados para o processamento de consultas, e no para o processamento de transaes,
como so os bancos de dados destinados aos sistemas de produo;
Modelados logicamente para consultas analticas (OLAP): o desempenho de consultas e
tempos de resposta das mesmas so mais importantes do que o desempenho de transaes.
Para tal, os dados de um data warehouse so modelados especialmente voltados para
anlise;
No volteis: os dados armazenados em um data warehouse so apenas para leitura.
Significando que, em um data warehouse, aps os dados serem integrados e
transformados, dada a carga inicial dos dados e posteriormente apenas consultas podem
ser realizadas sobre esses dados;
Limpeza de dados: considerando que data warehouses so usados para tomada de deciso,
importante que seus dados estejam corretos. Em grandes volumes de dados provenientes
de diversas fontes, existe uma grande probabilidade de existirem erros e anomalias nos
dados. Dessa forma, antes de serem consolidados em um data warehouse, os dados so
limpos, para que no sejam armazenados rudos (dados inconsistentes, em branco, ou
anmalos; tamanhos de campos inconsistentes, descries inconsistentes). Tais rudos nos
23
dados podem deteriorar a qualidade dos resultados dos algoritmos de data mining, que
podero ser posteriormente aplicados sobre os dados;
Fornecem uma viso simples e concisa em torno de alguns assuntos: dados que no so
teis ao processo de tomada de deciso devem ser excludos;
Possuem um horizonte de tempo significantemente maior que em sistemas operacionais:
fornece informaes a partir de uma perspectiva histrica (5 a 10 anos).
Visto essas caractersticas, temos ento a seguinte definio de Data Warehouse segundo
Inmon (1996): um Data Warehouse uma coleo de dados orientada por assuntos, integrada,
variante no tempo e no voltil, que tem por objetivo dar suporte ao processo de tomada de
deciso.
As diversas etapas do processo para construo de um data warehouse pode ser melhor
visualizado atravs da Figura 2.1.

Figura 2.1 Processo de construo de um Data Warehouse.
Dados de diversas fontes OLTP so pr-selecionados e integrados atravs de empacotadores
de integrao de dados, formando um banco de dados analtico integrado. Posteriormente
ferramentas de limpeza de dados so utilizadas a fim de gerar um banco de dados analtico
limpo, que atravs de um processo de derivao pode gerar novas informaes, formando
24
assim o data warehouse, um conjunto de dados analticos integrados, limpos, temporais,
primitivos e derivados, armazenados em um banco de dados relacional.
Considerando que bases de dados operacionais so otimizadas para suportar a carga de
trabalho de OLTP, tentar executar consultas complexas de OLAP nestas bases de dados pode
resultar em desempenhos no aceitveis (maiores detalhes de OLAP sero abordados na
prxima seo). Por essas razes que os data warehouses so, geralmente, implementados
separadamente das bases de dados operacionais.
Para facilitar as consultas, anlises complexas e visualizao, os dados em um data
warehouse so organizados em torno de pontos principais. Por exemplo, em um data
warehouse de vendas, data da compra, cliente, vendedor e produto podem ser algumas das
dimenses representadas. Geralmente estas dimenses possuem hierarquias: a data da compra,
por exemplo, pode ser organizada em uma hierarquia de dia-ms-semestre-ano, produto em
uma hierarquia de produto-categoria-indstria, e assim por diante. Operaes tpicas de
OLAP, como veremos na prxima seo, so realizadas sobre dimenses e hierarquias.

2 OLAP
OLAP (CODD, et.al., 1993; CHAUDHURI; DAYAL, 1996) uma categoria de software
especfica para realizar processamento analtico dos dados de um data warehouse, de forma
que este processamento deve: (1) ocorrer com alto desempenho e interatividade, e (2) auxiliar
tomada de deciso em uma organizao, por meio da interpretao desses dados em uma
variedade de vises multidimensionais. A Figura 2.2 mostra uma arquitetura OLAP tpica.
Vises multidimensionais dos dados em um data warehouse E-R so um modelo conceitual
de dados que influencia as ferramentas de visualizao, o projeto do data warehouse, e os
mecanismos de consulta. Em um modelo de dados multidimensional existe um conjunto de
medidas numricas que so os objetos da anlise. Exemplos de medidas so: valor das vendas,
quantidade vendida, lucros, inventrio. Cada medida depende de um conjunto de dimenses
que fornecem o contexto da medida. Por exemplo, as dimenses associadas com a quantidade
de vendas podem ser cidade, produto, e data da venda. As dimenses juntas determinam
unicamente a medida. Desta forma, uma medida um valor no espao multidimensional de
dimenses. Cada dimenso descrita por um conjunto de atributos. Por exemplo, a dimenso
produto pode ser descrita pelos seguintes atributos: categoria da indstria, a indstria que
fabrica o produto, ano em que foi introduzido no mercado e mdia de lucro. Os atributos de
uma dimenso podem estar relacionados atravs de uma hierarquia. Ainda no exemplo de
25
vendas, a dimenso produto pode conter a seguinte hierarquia entre seus atributos: indstria
categoria produto.

Figura 2.2 Arquitetura OLAP tpica.
Entre os tipos de processamento executados em uma base de dados de uma organizao,
vimos, na seo anterior, que o processamento analtico (OLAP) defini-se em contraste ao
processamento transacional (OLTP), que destinado a armazenar e analisar dados de suporte
operacional, ou seja, dados essencialmente manipulados para permitir anlise de registros
atmicos com eficincia. Em OLAP, os dados esto otimizados para o processamento
analtico, enquanto que em OLTP, os dados esto otimizados para o processamento
transacional. Na Figura 2.3, vemos um resumo das diferenas entre aplicaes de OLAP e
OLTP.
Vises multidimensionais sobre os dados em OLAP provm do fato de que questes tpicas
de anlise de negcios organizacionais geralmente requerem a visualizao dos dados
segundo diferentes perspectivas. Por exemplo, suponha-se que uma grande rede de lojas
departamentais necessita analisar seu negcio para ter a capacidade de planejar e reagir,
26
rapidamente s mudanas nas condies de seus negcios e, desta forma, tomar decises para
se posicionar de forma competitiva no mercado. Para tal, necessrio analisar o histrico dos
dados da empresa sobre as vendas, sobre o estoque de produtos. Uma anlise deste tipo requer
uma viso histrica por meio de diversas perspectivas, como por exemplo: totais de vendas
por produto, totais de vendas por regio, e totais de vendas por perodo de tempo. A anlise de
dados sob diversas perspectivas permite fazer previses sobre o negcio em questo, como
por exemplo, no caso da rede de lojas departamentais, responder perguntas do tipo: Qual a
tendncia do volume de vendas, de um determinado produto, para um determinado perodo
de tempo, em uma determinada regio de atuao da rede de lojas departamentais?.
OLTP OLAP
Objetivos Anlise diria dos dados do negcio Analise histrica sobre os dados
do negcio
Viso dos dados Relacional Multidimensional
Operaes com os dados Incluso, Alterao, Excluso e Consulta. Carga e Consulta
Atualizao Contnua (tempo real) Peridica (em lote)
Nmero de usurios Centenas Dezenas
Tipo de usurio Operacional Gerencial
Interao com o usurio Predominantemente pr-definida Predominantemente ad-hoc
Granularidade dos dados Detalhada Detalhada e resumida
Redundncia No existe Existe
Volume de armazenamento Megabytes Gigabytes Gigabytes Terabytes
Histrico dos dados No mantm Mantm
Acesso aos registros na
ordem de
Dezenas Milhares
Figura 2.3 OLAP x OLTP (LINO, 2000)
Desta forma, a anlise de dados sob diferentes perspectivas, que d origem ao aspecto
multidimensional da tecnologia OLAP. Discutiremos agora, alguns conceitos pertinentes a
tecnologia OLAP, relacionados a este aspecto multidimensional, por meio do exemplo da
Figura 2.4.
Conceitos:
Dimenses: So as diferentes perspectivas envolvidas. Dimenses geralmente
correspondem a campos no numricos em um data warehouse e fornecem informaes
descritivas. No caso da Figura 2.4, as dimenses so: Tempo (Time), Localizao
(Location), e Item (Item).
Medidas: Disponibilizam as informaes quantitativas que se deseja consultar e analisar,
isto , campos numricos em um banco de dados. No caso da Figura 2.4, a medida o
total de vendas de produtos.
27
Cubos ou hipercubos: Os dados que so extrados do data warehouse E-R so organizados
e armazenados em estruturas multidimensionais chamadas de cubo
1
. No caso da Figura
2.4, temos um cubo com trs dimenses: Tempo (Time), Localizao (Location), e Item
(Item).

Toronto 395 USA 2000
Vancouver Canada
Q1 605 Q1 1000
Q2 Q2
computer Q3
home dice for Q4
entertainment (location ="Toronto" or "Vancouver") computer security
item (types) and (time ="Q1" or "Q2") and home phone
(item="home entertainment" or "computer") entertainment
it em (t ypes)
r oll-up
on location
(fromcities
Chicago 440 to countries)
New York 1560
Toronto 395
Vancouver
Q1 605 825 14 400
Q2
Q3
Q4
computer security dr ill-down
home phone on time
slice
entertainment (fromquarters
for time ="Q1" it em (t ypes) to months)
Chicago Chicago
New York New York
Toronto Toronto
Vancouver 605 825 14 400 Vancouver
computer security J anuary 150
home phone February 100
entertainment March 150
it em (t ypes) April
May
J une
J uly
August
home
September
entertainment 605 October
computer 825 November
phone 14 December
security 400 computer security
New York Vancouver home phone
Chicago Toronto entertainment
Location (cities) it em (types)
pivot
L
o
c
a
t
i
o
n
s

(
c
i
t
i
e
s
)
T
i
m
e

(
q
u
a
r
t
e
r
s
)
L
o
c
a
t
i
o
n
s

(
c
i
t
i
e
s
)
T
i
m
e

(
m
o
n
t
h
s
)
Locations
(countr ies)
T
i
m
e

(
q
u
a
r
t
e
r
s
)
Locations
(cit ies)
T
i
m
e

(
q
u
a
r
t
e
r
s
)
L
o
c
a
t
i
o
n
s

(
c
i
t
i
e
s
)
i
t
e
m

(
t
y
p
e
s
)

Figura 2.4 - Cubo de dados de vendas por trimestre, local e tipo de item (HAN; KAMBER, 2001)

Funes de Agregao: Avaliam-se agregaes das medidas segundo as dimenses do
cubo por meio de funes de agregao. Alguns exemplos de funes de agregao so:
soma, mdia, desvio padro, mnimo, mximo. No caso da Figura 2.4, a funo de

1
Um cubo pode conter n dimenses, e chamado de n-dimensional.
28
agregao utilizada soma (sum), onde so apresentadas as somas dos totais das vendas
segundo as dimenses, isto , a soma de vendas de computadores (computer), no primeiro
trimestre (Q1), na cidade de Toronto, por exemplo.
Membros: So os elementos de uma dimenso. No caso da Figura 2.4, os membros da
dimenso Item so home entertainment, computer, phone e security, enquanto que os
membros da dimenso Localizao (Location) so Vancouver, Toronto, New York e
Chicago.
Hierarquias: Os membros de uma dimenso so organizados (agregados) em nveis de
hierarquias. Por exemplo, a dimenso Tempo (Time) da Figura 2.4 poderia organizar seus
membros em nveis de granularidade, como Ano, Trimestre, Ms, Dia; ou seja, em uma
hierarquia temporal. Em uma hierarquia, a granularidade de um membro de nvel inferior
sempre menor do que a de um nvel superior. Por exemplo, a granularidade de Dia
menor que a de Ano. A disposio dos membros de uma dimenso, nos nveis de uma
hierarquia desta dimenso, deve ser feita respeitando-se o grau de agregao dos mesmos,
pois um membro de menor granularidade sempre deve estar imediatamente abaixo do seu
membro de granularidade maior seguindo-se a hierarquia.
OLAP tambm caracteriza-se por possuir uma srie de operaes especficas para a
manipulao/navegao dos dados multidimensionais. A seguir so discutidas brevemente
algumas das operaes mais populares, ilustradas com exemplos do cubo de vendas da Figura
2.4:
Drill-down: desagregao/detalhamento dos dados para um nvel com menor
granularidade. Supondo-se que exista a hierarquia Tempo, definida como Ano
TrimestreMsDia no exemplo da Figura 2.4, ento, aplicando-se a operao drill-
down sobre a dimenso Tempo, obter-se-ia uma nova visualizao dos dados, com a
dimenso data disposta segundo o ms do ano da compra, conforme pode ser observado.
Neste caso, ms (months) um nvel imediatamente abaixo de trimestre (quarters), na
hierarquia definida de tempo;
Roll-up ou Drill-up: agregao dos dados para um nvel com maior granularidade. A
operao de roll-up exatamente o inverso da operao de drill-down, isto , aplicando-se
operaes de roll-up, partindo-se de visualizaes de dados em nveis de granularidade
inferiores, chega-se a nveis de granularidade superiores. Na Figura 2.4, realizando-se a
operao de roll-up na dimenso Localizao (Location), que se encontra no nvel de
hierarquia Cidades (cities), esta passaria para o nvel imediatamente acima, que neste caso
representado por Pases (countries);
29
Slice/Dice: seleo de parte de um cubo (fatiamento do cubo). Por exemplo, na Figura 2.4,
uma operao de slice pode ser aplicada ao cubo, de modo que sejam selecionadas as
clulas do cubo que fazem parte da dimenso Localizao e Item para o primeiro trimestre
(Q1) (fatia do cubo). A operao dice define um sub-cubo pela seleo de duas ou mais
dimenses;
Pivoting/Rotate: inverso/rotao dos eixos do cubo para visualizao dos resultados de
uma consulta. Na Figura 2.4, o cubo est sendo visualizado, dispondo-se a dimenso Item
no eixo-x e a dimenso Localizao no eixo-y. Por meio da operao de pivoting pode-se
mudar a perspectiva de visualizao, invertendo-se os eixos, isto , dispondo-se a
dimenso Localizao no eixo-x e a dimenso Item no eixo-y, por exemplo;
Drill-across - desagregao/detalhamento dos dados atravs de mltiplos nveis de
dimenses diferentes. Por exemplo, na Figura 2.4, uma operao de drill-across aplicada
ao cubo Pases (countries) x Trimestres (quarters) x Tipos (types), poderia levar
diretamente ao cubo Cidades (cities) x Meses (months) x Tipos sem passar pelo cubo
intermedirio Cidades x Trimestres x Tipos.
Apesar de aplicaes de OLAP apresentarem os dados em vises lgicas multidimensionais,
estes no necessariamente esto armazenados fisicamente em estruturas multidimensionais
2
.
Estruturas relacionais podem ser usadas para a representao e armazenamento de dados
multidimensionais. De acordo com a forma como os dados esto armazenados no data
warehouse que d suporte aos sistemas OLAP, trs tipos de arquitetura caracterizam as
ferramentas OLAP (CHAUDHURI; DAYAL ,1996; PENDSE , 2000):
ROLAP (Relational OLAP): Realiza seu processamento analtico em um data warehouse
com estrutura fsica relacional, e modelado dimensionalmente por meio de tcnicas de
modelagem chamadas Esquema Estrela, Esquema Floco de Neve
3
(KINBALL, 1996;
INMON, 1996; CAMPOS; FILHO, 2000) , ou Esquema Constelao
4
;
MOLAP: (Multidimensional OLAP): Realiza seu processamento analtico em um data
warehouse cujo armazenamento fsico usa tecnologia de banco de dados
multidimensionais (GYSSENS; LAKSHMANAN, 1997) com matrizes n-dimensionais;
HOLAP (Hybrid OLAP)- Integra as caractersticas funcionais da ROLAP e MOLAP em
uma nica arquitetura hbrida. O armazenamento fsico dos dados do data warehouse

2
SGBD Multidimensionais.
3
Em Esquemas Floco de Neve as tabelas de dimenses esto normalizadas.
4
Em Esquemas Constelao so usadas estruturas mais complexas, nas quais mltiplas tabelas de fatos
compartilham tabelas de dimenses.
30
feito em tabelas relacionais, entretanto para implementar eficientemente as consultas, um
cache dos nveis de agregao mais comuns guardado na memria como uma matriz n-
dimensional.
O ambiente OLAP permite aos usurios facilmente sumarizar e acessar dados, mas possuem
algumas limitaes na construo e manuteno de modelos analticos complexos dos dados
organizacionais. Para aumentar a sua eficcia, sistemas OLAP devem dar suporte a
linguagens de consulta, possveis em diferentes nveis de abstrao (TORLONE; CABIBBO,
1998).
Consultas OLAP no podem ser previstas e so muito dinmicas. Os tipos de informaes
requisitadas cobrem todo o escopo dos dados disponveis. Consultas devem possuir a
habilidade de tirar vantagem dos relacionamentos representados no banco de dados.
Uma das estratgias para responder a consultas OLAP rapidamente a de computao prvia
de consultas complexas envolvendo mltiplas agregaes dependentes em mltiplas
granularidades. Estes cubos pr-computados so muito teis na prtica, j que muitas
consultas complexas podem ser respondidas sem um aumento significante no custo
computacional, em comparao com consultas simples a cubos de dados padres.
Assim como o padro SQL utilizado para acesso aos dados em um banco de dados
relacional, expresses multidimensionais (MDX - Multidimensional Expressions) vm
crescendo como um padro de fato para bancos de dados multidimensionais (MLC, 2000).
A seguir apresentaremos as principais caractersticas das expresses multidimensionais.

2.1 Expresses Multidimensionais MDX
Padro introduzido pela Microsoft, expresses multidimensionais permitem que
programadores OLAP acessem funes orientadas a conjunto e hierarquia, e especifiquem
objetos como eixos, medidas, dimenses, e nveis utilizados em consultas OLAP. Embora seja
similar a SQL na sintaxe, MDX uma linguagem independente.
A seguir veremos a sintaxe utilizada por instrues MDX atravs do uso de exemplos.
Apesar dos dados estarem armazenados nos servidores OLAP de uma forma
multidimensional, para a realizao de consultas MDX os dados devem estar dispostos em
apenas 2 eixos: coluna (eixo obrigatrio) e linha (eixo opcional). A forma mais simples de
uma expresso multidimensional obedece estrutura:
SELECT especificao_do_eixo ON COLUMNS, (obrigatrio)
especificao_do_eixo ON ROWS (opcional)
FROM nome_do_cubo (obrigatrio)
31
WHERE especificao_slice (opcional)
No exemplo da Figura 2.4, um cubo formado de apenas uma dimenso (Locations) poderia
ser gerado atravs da instruo
SELECT [Locations].[Countries].MEMBERS ON COLUMNS
FROM [Sales]
Algumas observaes podem ser feitas a partir deste exemplo:
A palavra-chave .MEMBERS refere-se aos membros de um determinado nvel de
hierarquia (todos os pases da dimenso Location), se por outro lado, o usurio quisesse
referenciar as cidades (filhos) de um determinado pas (membro) deveria utilizar a palavra
chave .CHILDREN (ex. [Locations].[Countries].[USA].CHILDREN Chicago e New
York);
Como no indicamos uma medida para os dados, os resultados apresentados se referem
medida definida como padro no momento da criao do cubo de dados, para indicar uma
outra medida, deveramos utilizar a clusula WHERE (ex. WHERE [Measures].[Sales
Average]).
A seguir mostramos a instruo para o cubo de duas dimenses (Location e Item) gerados a
partir da operao de slice do cubo central da Figura 2.4:
SELECT [Item].[Types].MEMBERS ON COLUMNS,
[Locations].[Cities].MEMBERS ON ROWS
FROM [Sales]
WHERE ([Measures].[Unit Sales], [Time].[Quarters].[Q1])
Para a realizao de consultas MDX envolvendo mais de duas dimenses, deveremos utilizar
a funo CROSSJ OIN, que produz todas as combinaes entre dois conjuntos. Como
exemplo tomemos o cubo central da Figura 2.4:
SELECT [Locations].[Cities].MEMBERS ON COLUMNS,
CROSSJ OIN( {[Time].[Quarters].Members}, {[Item].[Types].Members}) ON ROWS
FROM [Sales]
WHERE [Measures].[Sales Average]
Para finalizar esta breve apresentao sobre consultas MDX, j que se trata de uma linguagem
poderosa, com muitos recursos e inmeras funes (que podem inclusive ser extendidas),
mostraremos o uso da clusula WITH, que permite ao usurio criar suas prprias medidas e
membros, tomando por base os dados j existentes.
Supondo que a nossa hierarquia da dimenso Tempo esteja organizada da seguinte maneira:
AnoTrimestreMs, e que quisssemos apresentar os resultados das vendas por semestre,
poderamos utilizar a instruo WITH para criar os novos membros:
WITH
MEMBER [Time].[S1] AS [Time].[Quarters].[Q1] +[Time].[Quarters].[Q2]
MEMBER [Time].[S2] AS [Time].[Quarters].[Q3] +[Time].[Quarters].[Q4]
32
SELECT
{[Time].[S1], [Time].[S2]} ON COLUMNS,
[Locations].[Cities].MEMBERS ON ROWS
FROM [Sales]
A seguir apresentamos um exemplo de criao de uma nova medida (percentual de lucro) a
partir de medidas existentes:
WITH
MEMBER Measures.ProfitPercent AS
(Measures.[Store Sales] Measures.[Store Cost]) / (Measures.[Store Cost]),
FORMAT_STRING =#.00%
SELECT
[Locations].[Cities].MEMBERS ON COLUMNS,
[Time].[Months].MEMBERS ON ROWS
FROM [Sales]
WHERE Measures.ProfitPercent

3 Descoberta de Conhecimento em Bancos de Dados
A descoberta de conhecimento em bancos de dados (KDD Knowledge Discovery in
Databases) um processo de identificao de padres previamente desconhecidos, que
consiste na aplicao de algoritmos de aprendizagem de mquina ou estatstica, e que produz
um conjunto de padres, no triviais, interpretveis e vlidos, e potencialmente teis, em meio
aos dados (FSS, 1996). No processo de KDD est inclusa a etapa de Minerao de Dados.
Considera-se aqui dados como uma srie de fatos, como por exemplo, registros em uma base
de dados; e padres como uma expresso em alguma linguagem, descrevendo um
subconjunto dos dados ou um modelo que se aplica ao subconjunto. Desta forma, extrair
padres significa ajustar um modelo para os dados, encontrar alguma estrutura nos dados, ou
de forma geral, fazer uma descrio de alto nvel de um conjunto de dados. O termo processo
usado j que KDD composto de vrias etapas. J no-trivial significa que busca e
inferncia est envolvida no processo, isto , no um processo de clculo de quantidades
predefinidas, como o clculo de uma mdia por exemplo. Os padres descobertos devem ser
vlidos e possuir um certo grau de certeza. desejvel tambm que os padres sejam novos e
potencialmente teis, trazendo algum benefcio para o usurio ou para a tarefa de descoberta
de conhecimento. E finalmente os padres devem ser compreensveis.
Como foi dito, o processo de KDD interativo e iterativo em espiral, envolvendo vrias
etapas, nas quais muitas delas necessitam da participao direta do usurio. As primeiras
iteraes so ingnuas, muitas vezes trazendo resultados bvios ou incompreensveis. A
Figura 2.5 fornece uma viso prtica do processo, enfatizando a natureza interativa do
mesmo.
33
Considerando que as etapas de seleo, limpeza, integrao e transformao dos dados do
processo de KDD coincidem com os passos para construo de um data warehouse para o
processamento analtico on-line. As organizaes podem ento, aps a construo do data
warehouse, escolher qual mtodo a ser adotado para anlise dos dados: OLAP e/ou Minerao
de Dados.
Figura 2.5 Os passos que constituem o processo de KDD (FSS, 1996)
Antes de se iniciar o processo de KDD, a primeira coisa a ser feita desenvolver um
entendimento do domnio da aplicao e do conhecimento prvio relevante, identificando os
objetivos do processo de KDD do ponto de vista do cliente. Entendemos por cliente, neste
contexto, as pessoas responsveis pelo processo de tomada de deciso dentro da organizao
em foco.
Discutiremos a seguir as etapas do processo de KDD, ilustrando com exemplos de uma
aplicao de fraude de carto de crdito, cujo objetivo determinar quando usurios esto
comprando itens com um carto de crdito roubado. Para este exemplo, o propsito da anlise
ser identificar os clientes com padres de uso do carto de crdito que diferem dos padres
de uso previamente estabelecidos.
As etapas do processo de KDD so:
Definio do objetivo da minerao: devem ser respondidas as seguintes questes: Qual
tipo de conhecimento est sendo procurado para influenciar qual tipo de deciso? Qual
grau de abstrao ele deve possuir? Qual confiabilidade estatstica? Em qual formalismo
represent-lo? No nosso exemplo estamos procurando um padro de comportamento para
clientes de carto de crdito, como sada obteramos a resposta se determinado tipo de
34
compra representa ou no uma fraude e como conseqncia, a compra seria ou no
autorizada pela administradora do carto.
Seleo: diz respeito compreenso do domnio de aplicao, do conhecimento prvio
relevante, e dos objetivos do processo de KDD do ponto de vista do usurio final,
resultando em um conjunto de dados alvo onde ser realizado o processo de descoberta.
Envolve o que os estatiscistas chamam de anlise exploratria dos dados. Recorrendo-se
ao exemplo do carto de crdito, temos que grandes companhias de carto de crdito
normalmente possuem vrios sites de processamento que so responsveis por reas
geogrficas especficas. Desta forma, um subconjunto dos dados deve ser selecionado da
base de dados, pois seria desnecessrio analisar todos os dados.
Pr-processamento: na fase de pr-processamento e limpeza de dados so realizadas
operaes bsicas de remoo de rudos, coleta de informaes necessrias para modelar
ou explicar rudo nos dados, deciso de que estratgias usar para tratar campos de dados
em branco, e tratar informaes temporais seqenciais assim como mudanas conhecidas.
Nesta fase, pode tambm ser feita re-configurao de dados, para assegurar formatos
consistentes e integrados. Freqentemente dados possuem erros introduzidos em seus
processos de entrada, e como os dados alvos podem ser selecionados de vrias fontes, os
mesmos esto sujeitos a inconsistncias de vrios tipos (em termos de modelo de dados,
semntica dos atributos, modos de representao). No nosso exemplo, possvel que o
mesmo cliente seja representado de duas maneiras diferentes, em sites diferentes: em um,
o campo nome do cliente pode conter o primeiro nome seguido pelo ltimo, em outro
pode conter apenas o ltimo nome. A fase de pr-processamento deve identificar essas
diferenas e deixar os dados consistentes e limpos.
Transformao: nesta fase so feitas reduo e projeo de dados. Isto alcanado
encontrando-se caractersticas teis para represent-los de acordo com o objetivo da tarefa
de minerao de dados que ser usada na fase seguinte. Com os mtodos de transformao
e reduo aplicados nesta fase, o nmero efetivo de variveis em considerao pode ser
reduzido, bem como representaes no variantes dos dados podem ser encontradas,
deixando os dados em formatos utilizveis. Ilustrando com o exemplo do carto de
crdito, temos que os dados podem ser transformados para uso em diferentes tcnicas de
anlise: um conjunto de tabelas individuais podem ser agrupadas em uma nica tabela, um
atributo que est representado de diferentes formas (data escrita como 18-03-1999 e
3/18/99) devem ser transformados para um formato comum, ou ainda um dado que est
35
representado como texto deve ser transformado para um formato numrico, se for
requerido por uma mtodo de minerao de dados no processo.
Minerao dos dados: consiste na escolha e aplicao de um mtodo particular de
minerao de dados, isto , um algoritmo de aprendizagem de mquina, para a extrao
dos padres de comportamento dos dados. Dentre exemplos de tipos de mtodos de
minerao de dados que podem ser aplicados encontram-se: sumarizao, classificao,
regresso, agrupamento, entre outros (FSS, 1996). No nosso exemplo, pode ser escolhido
um algoritmo que ir automaticamente procurar por agrupamentos no comportamento dos
dados. Este tipo de algoritmo pode encontrar, por exemplo, um conjunto de clientes que
fazem relativamente pequena quantidade de compras, um conjunto de clientes que fazem
grande nmero de compras, e um conjunto de clientes que fazem um grande nmero de
compras em perodos muito curtos de tempo. Estes comportamentos podem ser analisados
posteriormente para determinar se alguns dos padres so representativos do
comportamento de fraude de carto. Desta forma, o algoritmo de minerao escolhido
poderia caracterizar um comportamento de fraude por quantidade de compras em um
curto perodo de tempo, ou por reas geogrficas diferentes de onde o cliente
normalmente realiza compras.
Interpretao e Avaliao: nesta etapa feita a interpretao dos resultados, os padres
minerados, com possvel retorno aos passos anteriores. Esta fase tambm envolve
visualizao dos padres e modelos extrados, ou dos dados de acordo com modelos
descobertos. Quando um padro identificado, ele deve ser examinado para determinar se
o mesmo novo, relevante, e correto, por algum padro de medida. Esta etapa pode
requerer mais interao com o usurio, pois este quem mais pode fazer determinaes de
relevncia. Quando o padro considerado relevante e til, ele pode ser considerado
conhecimento, e normalmente colocado na base de conhecimento para ser usado em
iteraes subseqentes. A base de conhecimento pode ser vista como um mecanismo de
armazenamento similar a uma base de dados, usada para armazenar os conhecimentos
descobertos e tambm informaes prvias sobre o domnio.
Na Figura 2.6 mostramos os passos necessrios para a realizao da etapa de minerao de
dados em um ambiente de data warehouse: dados analticos previamente integrados, limpos,
primitivos e derivados (armazenados em um data warehouse) so selecionados em tabelas
que, aps sofrerem um processo de transformao, se encontram prontas para aplicao de
36
algoritmos de minerao. Ferramentas de minerao so ento utilizadas, gerando o
conhecimento minerado, que ser posteriormente apresentado ao usurio.

Figura 2.6 Processo de Minerao de Dados.
Os algoritmos de minerao de dados, de acordo com o conhecimento gerado, podem ser
classificados em dois tipos:
Descritivos descrevem conceitos ou padres relevantes no conjunto de dados; ou
Preditivos baseados nos dados em anlise, constroem modelos para o banco de dados e
fazem previso de tendncias e de dados desconhecidos.
Os resultados obtidos atravs do processo de minerao de dados podem ser apresentados em
diversos formatos, a depender do algoritmo de minerao empregado. A seguir mostramos as
principais classes de sada de minerao de dados:
Descrio conceitual: caracteriza e discrimina os dados algoritmo para generalizao,
sumarizao e descoberta de contrastes nas caractersticas dos dados (ex.: caractersticas
de regies secas e midas);
Associao: identificam correlao e causalidade nos dados. Podem descobrir associaes
multi-dimensionais Idade (X, 20..29) ^Renda (X, 20..29mil) Compra (X, PC)
37
[suporte =2%, confidncia =60%], ou uni-dimensionais Comprou (T, Computador)
Comprou (x, Software) [1%, 75%];
Classificao e predio: encontram modelos que distinguem e descrevem classes ou
conceitos para previso futura (ex.: classificao de pases baseado no clima ou
classificao de carros baseada no consumo mdio). Os resultados so apresentados na
forma de rvore de deciso, regra de classificao ou rede neural. Podem ser utilizados
para prever valores desconhecidos ou em falta;
Agrupamento: algoritmo aplicado quando se deseja agrupar dados sem conhecer os nomes
das classes. Os dados so agrupados de maneira a formar novas classes (ex.: agrupamento
de casas para encontrar padres de distribuio). Baseia-se no princpio de maximizar a
similaridade intra-classes e minimizar a similaridade entre classes;
Anlise de valores extremos (outliers): encontra objetos que no esto de acordo com o
comportamento geral dos dados valores atpicos. til na deteco de fraudes e anlise de
eventos raros.
Processos de KDD e Minerao de Dados tm sido aplicados em diversos domnios
cientficos e empresariais. Em cincia, uma das principais reas de aplicao astronomia; em
negcios, dentre as principais reas de aplicao destacam-se marketing, finanas
(especialmente investimentos financeiros), deteco de fraudes, telecomunicaes. Exemplos
de aplicaes de marketing so sistemas de anlise de compras, onde possvel encontrarmos
padres (que podem ser valiosos para varejistas) do seguinte tipo: Se o cliente compra X,
ento ele dever comprar Y e Z.
Tanto o projeto MATRIKS como OCCOM se focalizam em uma classe de sada do processo
de KDD: a minerao de valores extremos (outliers).

4 OLAM
Atualmente existe um campo emergente de pesquisa que se foca na integrao das tecnologias
de OLAP e Minerao de Dados. O termo Minerao Analtica On-Line (On-Line Analytical
Mining OLAM) para se referir integrao destas duas tecnologias complementares em um
ambiente de KDD foi introduzido por HAN (1997).
A minerao de conhecimento em bancos de dados multidimensionais particularmente
importante devido complementaridade de OLAP e minerao de dados: enquanto OLAP
fornece dados de alta qualidade (limpos, integrados, consistentes) necessrios para a aplicao
de ferramentas de anlise e consultas OLAP, a minerao de dados, por sua vez, automatiza o
38
processo de descoberta de padres interessantes, anlise e explorao do grande volume de
dados disponveis nos sistemas OLAP.
A arquitetura apresentada na Figura 2.6 pode ser adaptada para ambientes OLAM como
mostrado na Figura 2.7. Em um ambiente OLAM, as tabelas para minerao so selecionadas
atravs de consultas a bases de dados OLAP, sobre as quais so aplicadas as ferramentas de
minerao de dados. O usurio poder ento visualizar tanto os dados originais, atravs da
realizao de consultas OLAP, como o conhecimento gerado atravs do processo de
minerao.
Existem vrios desafios nesta integrao, principalmente porque as ferramentas de Minerao
de Dados atuais devem ser refeitas pensando-se em lidar com a representao de dados
OLAP. Alguns resultados neste sentido podem ser encontrados no sistema DBMiner (HAN,
1997), e em pesquisas sobre mtodos de Minerao de Dados no contexto OLAP em AAD
(1996).
Esta proposta de integrao entre OLAP e Minerao de Dados bastante promissora porque
se beneficia das principais vantagens da representao, organizao e consultas
multidimensionais de dados OLAP: viso histrica e multidimensional dos dados,
interatividade, alto desempenho, uso de operaes especficas para navegao nos dados; e da
anlise inteligente de dados proporcionado pela tecnologia de Minerao de Dados. A
principal caracterstica desta integrao a capacidade de minerar subconjuntos de dados em
mltiplos nveis de abstrao e granularidade que OLAP d suporte.
39

Figura 2.7 OLAM Integrao OLAP x Minerao de Dados.

Você também pode gostar