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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<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!