• Nenhum resultado encontrado

A Preponderância das Estruturas Multidimensionais de Dados 2.1 A Origem das Estruturas Multidimensionais de Dados

2.2. Cubos de Dados

O cubo não é mais do que uma reprodução multidimensional dos dados modelados, tendo sido proposto inicialmente em [Gray et al., 1996] como uma difusão do operador SQL6

      

6 Structured Query Language, define-se por ser uma linguagem de pesquisa estruturada para efectuar e gerir consultas sobre os dados armazenados em bases de dados relacionais.

23 

group-by. Na prática, o cubo representa uma grelha multidimensional construída a partir dos

valores de cada uma das dimensões envolvidas. Cada célula da grelha guarda a respectiva agregação calculada (métricas, valores numéricos acondicionados dentro de cada célula), todas elas com o mesmo significado a nível de combinação de coordenadas, instância das dimensões e nível de granularidade. O significado de dimensão é uma noção fundamental em dados multidimensionais. Essencialmente, estas usam-se para seleccionar os dados do cubo e efectuam o seu agrupamento até a um determinado nível (granularidade). Cada dimensão encontra-se organizada sob a forma de uma ou mais níveis, designados por hierarquias. As hierarquias contêm um conjunto distinto de níveis que correspondem a diferentes graus de detalhe e formas de classificação.

Ao navegar nos diferentes graus de detalhe, diz-se que o nível A roll-up7 para o nível B se uma classificação dos elementos de A, de acordo com os elementos de B, tiver significado semântico para a análise OLAP (ex. o nível “distrito” roll-up para o nível “país”). Um nível pode fazer roll-up para qualquer número de níveis, permitindo assim a existência de múltiplas hierarquias numa dada dimensão. Isto será possível se existirem vários critérios de classificação para os membros de uma dimensão (ex. uma oficina pode ser classificada pela sua localização geográfica ou pelo seu tipo). Outra situação que pode ocorrer é quando vários caminhos de roll-up são possíveis entre dois níveis, chamados caminhos alternativos ou dimensão múltipla. Veja-se de seguida, na figura 7, o exemplo da representação da dimensão “oficina”. A estruturação das dimensões do ponto de vista do analista é completada com a utilização de atributos de nível de dimensão: descrevem os membro de um dado nível de dimensão, mas não definem hierarquias (ex. o nome e morada de uma oficina ou o nome de uma dada região). Uma representação multidimensional pode conter mais que um cubo de diferentes granularidades (chamados hipercubos). Esta situação é usual e necessária sempre

      

7 Roll-up é uma das operações comuns efectuadas sobre estruturas multidimensionais de dados em ambientes analíticos tipicamente OLAP, que permitem visualizar os dados multidimensionais em diferentes níveis de agregação (detalhe). Outras operações comuns são: drill-down/up, slice, dice e pivot. Concretamente, o roll-up refere-se ao processo de analisar os dados com menos granularidade.

24 

que existe a necessidade de uma aplicação OLAP requerer a análise de diferentes factos (ex. vendas de veículos e reparações de veículos).

Figura 7. Hierarquia de níveis da dimensão "oficina" e caminhos alternativos da dimensão

É representado, num cubo de dados, o assunto em análise pelo agente de decisão, designado dimensionalmente, por facto (ex. reparações de veículos). Para melhor apreender esta representação, vejamos o seguinte exemplo: um fabricante de automóveis pode querer analisar as reparações de veículos de modo a melhorar o seu produto, definir novas políticas de garantias e obter informação acerca da certificação de oficinas de manutenção. Assim, o construtor vai analisar as reparações de veículos (facto de negócio) segundo um conjunto de perspectivas (anteriormente caracterizadas por dimensões). O nível de dimensões ao qual ocorre a combinação dos membros irá determinar a granularidade do facto. Na figura 8, é efectuada a representação multidimensional desta situação. Repare-se que a granularidade do cubo é “fabricante por país e por mês”, aqui representado por “país x fabricante x mês” ou simplesmente pela combinação de letras correspondentes a cada dimensão e hierarquia (pfm). A granularidade será maior à medida que o nível de combinações dos valores das dimensões aumenta, por exemplo, “especialidade fabricante x zona x mês” (conforme a hierarquia dimensional evidenciada na figura 7) ou menor, por exemplo, “fabricante x país x mês”. Um cubo de maior granularidade pode, normalmente, ser obtido a partir de cubos de granularidade mais baixa, seguindo exclusivamente as hierarquias dimensionais que, no limite, podem implicar mesmo a sua total compressão (a dimensão é agregada até ao seu nível máximo,

25 

“todas as oficinas”, na figura 7). Esta designação ficará certamente mais clara seguindo o exemplo de representado na figura 9.

Figura 8. Esquema multidimensional para o facto de negócio de reparações de veículos

De facto, a dimensão fabricante é comprimida, sendo os agregados, os valores das células correspondentes a cada “país x fabricante x mês”, gerando-se o subcubo “país x mês”. Pode agora clarificar-se o significado de “todos”, muitas vezes representado também como “nenhum”, que significa o topo de cada hierarquia. É estranha esta dupla designação oposta, mas compreensível: tudo depende de que perspectiva se está a olhar para o processo de agregação, sendo por isso possível, visualizar os níveis de ambas as formas. A designação “nenhum” de representação (-) deriva do facto de resultar do processo de colapso da dimensão, onde a dimensão é omitida. A nomeação “todos” significa que todos os membros da dimensão encontram-se agregados. Do exemplo evidenciado na figura 9, verifica-se que, para o fabricante de automóveis BMW, no mês de Fevereiro, por exemplo, existe uma compressão da dimensão país até chegar ao nível máximo de agregação, ou seja, (Alemanha, BWM, Fevereiro) + (Austrália, BMW, Fevereiro) + (Portugal, BMW, Fevereiro). Esta situação caracteriza uma acumulação agregada ao longo da dimensão país, que partiu do significado “nenhum” em direcção a “todos”. Esta possibilidade de gerar um cubo utilizando outros, destaca as relações de dependência existentes que estão na base do chamado lattice de correlações ou dependências, indicado em [Harinarayan et al., 1996], que conceptualiza todas as agregações possíveis e respectivas dependências. Seguindo os exemplos apresentados, são

26 

supostas três dimensões (fabricante, país e tempo) e também, a existência de níveis hierárquicos intermédios (por exemplo, o nível país agrupa instantaneamente no nível “todos”). Como existem três dimensões, vão ter-se 23 cubos possíveis.

Figura 9. Representação do subcubo de nível máximo de agregação, através do cubo de dados

O número de cubos é calculado, de modo genérico, pela multiplicação do número de dimensões e o número de níveis hierárquicos da dimensão. Sendo o resultado um produto, o número de cubos relativo a um dado modelo dimensional pode assumir um crescimento exponencial repentino, podendo facilmente ficar muito grande. Na realidade, basta o modelo ter cinco dimensões i, cada uma com quatro níveis hierárquicos L, para se ter um total de 1 = 1024 subcubos ou (45). O cubo de dados não é mais do que uma agregação

dos dados a um determinado nível de granularidade, entendido por um maior ou menor detalhe. Vendo o lattice apresentado na figura 10, a agregação (pfm) terá uma menor granularidade do que a agregação (p--). Importa ressalvar que, de facto, o cubo designa muitas vezes o próprio espaço multidimensional e, especialmente, representa o conjunto de todas as agregações possíveis e seus subconjuntos. Este crescimento combinatório acentuado dá origem a uma nova problemática, extremamente importante, em sistemas de processamento analítico: a grande dimensão do espaço físico dos dados agregados quando materializados, a necessidade inevitável de limitar o seu tamanho e o custo da sua actualização, sempre que tiverem de ser refrescados.

27 

Figura 10. Lattice de correlações associado às dimensões país, fabricante e mês (tempo)