15.07.2013 Views

ISCTE – ESCOLA DE GESTÃO - Universidade Técnica de Lisboa

ISCTE – ESCOLA DE GESTÃO - Universidade Técnica de Lisboa

ISCTE – ESCOLA DE GESTÃO - Universidade Técnica de Lisboa

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>de</strong> dados, frequentemente mantidos para outros fins, e que na maioria dos casos os utilizadores não<br />

conseguem estabelecer um objectivo <strong>de</strong>finido. Isto leva a que as interrogações colocadas impliquem a<br />

agregação <strong>de</strong> gran<strong>de</strong>s quantida<strong>de</strong>s <strong>de</strong> dados, o que impossibilita a rapi<strong>de</strong>z <strong>de</strong>sejada na resposta. O<br />

objectivo do sistema proposto seria, portanto, conseguir que as ferramentas <strong>de</strong> data mining<br />

trabalhassem em conjunto com as ferramentas <strong>de</strong> OLAP <strong>de</strong> uma data warehouse por forma a aumentar<br />

a qualida<strong>de</strong> e rentabilida<strong>de</strong> da experiência para o utilizador, numa perspectiva a que foi dado o nome <strong>de</strong><br />

OLAP mining. Um dos principais <strong>de</strong>safios na criação <strong>de</strong> um sistema <strong>de</strong>stes é a necessida<strong>de</strong> <strong>de</strong> uma<br />

implementação eficiente do mecanismo <strong>de</strong> computação e construção do cubo, que permita uma<br />

capacida<strong>de</strong> <strong>de</strong> resposta rápida. Com base no operador CUBE [Gray1997] e no algoritmo Multi-Way<br />

[Zhao1997], Tam propôs um algoritmo <strong>de</strong> computação <strong>de</strong> agregados cujas principais características são<br />

o facto <strong>de</strong> percorrer a relação uma única vez, computar um agregado a partir do menor agregado já<br />

computado, computar simultaneamente o maior número <strong>de</strong> agregados possível e retirar os agregados <strong>de</strong><br />

memória o mais cedo possível <strong>de</strong> forma a libertar memória para a computação <strong>de</strong> outros agregados<br />

[Tam1998]. Em traços gerais, o algoritmo proposto baseia-se no conceito <strong>de</strong> um cubo baseado em<br />

chunks, em que o cubo é armazenado sob a forma uma tabela relacional e os seus chunks armazenados<br />

como tuplos. Para cada chunk, as células são mapeadas para um en<strong>de</strong>reço <strong>de</strong> memória que po<strong>de</strong> ser<br />

guardado como um dos campos do tuplo, <strong>de</strong> forma a que não seja necessário utilizar mecanismos <strong>de</strong><br />

in<strong>de</strong>xação para ace<strong>de</strong>r aos chunks. No fundo, são combinadas características <strong>de</strong> sistemas ROLAP e<br />

MOLAP num único algoritmo.<br />

No trabalho realizado por Tam, o conceito <strong>de</strong> cubo foi <strong>de</strong>senhado tendo em conta um contexto dirigido<br />

por interrogações (query-driven), no qual o número <strong>de</strong> dimensões do cubo não é conhecido enquanto a<br />

interrogação não é submetida. Por essa razão, conceptualmente o cubo é multidimensional mas é<br />

implementado como um array unidimensional. Sendo D0, D1, ..., DN-1 as dimensões <strong>de</strong> um cubo N-<br />

dimensional, é adicionado o valor ALL a cada dimensão Di, tal como <strong>de</strong>scrito por [Gray1997], o que faz<br />

com que qualquer célula em que o valor ALL faça parte do seu en<strong>de</strong>reço corresponda a um agregado.<br />

Este tipo <strong>de</strong> células é <strong>de</strong>signado como célula cubói<strong>de</strong> (cuboid cell), enquanto as restantes células são<br />

consi<strong>de</strong>radas células nucleares (core cells). Os valores <strong>de</strong> cada dimensão são mapeados para<br />

coor<strong>de</strong>nadas <strong>de</strong> tal forma que a dimensão Di corresponda aos valores {di0, di1, ..., di|Di|-1, diALL}. A posição<br />

<strong>de</strong> cada célula do cubo é <strong>de</strong>notada no espaço multidimensional pelo vector V(v0, v1, ..., vN-1), sendo a<br />

magnitu<strong>de</strong> <strong>de</strong> cada vector equivalente ao número <strong>de</strong> dimensões do cubo. Portanto, para uma célula<br />

cubói<strong>de</strong>, o seu en<strong>de</strong>reço contém pelo menos um componente vj tal que vj = |Dj|, j ≥ 0 e j < N. Assim, a<br />

célula cujo en<strong>de</strong>reço é dado pelo vector V(|D0|, ..., |DN-1|) trata-se da célula cubói<strong>de</strong> correspon<strong>de</strong>nte ao<br />

agregado vazio ALL [Tam1998]. Tomando o cubo C tridimensional na figura 12, verifica-se que existem<br />

três dimensões, em que |D0| = 5, |D1| = 4, |D2| = 3, e que os valores para cada dimensão são di0 = 0, di1 =<br />

1 e assim sucessivamente para i = 0,1, 2. A célula cubói<strong>de</strong> com o en<strong>de</strong>reço V(5, 4, 3) correspon<strong>de</strong>,<br />

então, à célula (ALL, ALL, ALL). Seguindo ainda esta notação, a célula com o en<strong>de</strong>reço V(5, 0, 0) guarda<br />

o resultado da soma das medidas das células {V(0, 0, 0), V(1, 0, 0), V(2, 0, 0), V(3, 0, 0), V(4, 0, 0)},<br />

35

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!