Jos A. Lpez
Esteban Oviedo
Conceptos
Mtodos de procesamiento de cubos
Conclusiones
Agenda
Data Cube: A Lattice of Cuboids
Base vs. aggregate cells; ancestor vs. descendant cells; parent vs. child cells
1. (9/15, milk, Urbana, Dairy_land)
2. (9/15, milk, Urbana, *)
3. (*, milk, Urbana, *)
4. (*, milk, Urbana, *)
5. (*, milk, Chicago, *)
6. (*, milk, *, *)
all
time,item
time,item,location
time, item, location, supplier
time
item location supplier
time,location
time,supplier
item,location
item,supplier
location,supplier
time,item,supplier
time,location,supplier
item,location,supplier
0-D(apex) cuboid
1-D cuboids
2-D cuboids
3-D cuboids
4-D(base) cuboid
Materializacin del Cubo: Full Cube vs.
Iceberg Cube
Full cube vs. iceberg cube
Procesamiento de un cubo de ventas iceberg
select month, city, customer group, count(*)
from salesInfo
cube by month, city, customer group
having count(*) >= min support
Se realiza el procesamiento de la informacin de aquellos
registro que cumplan la condicin del iceberg.
Solo una pequea cantidad de los registro son aquellos que estn
sobre la condicin de todo el universo.
Es necesario evitar un crecimiento exponencial: Cubos con mas
de 100 dimensiones.
Celdas en base a 2: (x1, x2, ., x100), (y1, y2, , y100)
Muchas de las agregaciones son celdas que cumplan la
condicin ej: if having count >= 1?
Condicin
del
iceberg
Iceberg Cube, Closed Cube & Cube Shell
La utilizacin de Iceber es buena cuando
Celdas en base a 2: {(a
1
, a
2
, a
3
. . . , a
100
):10, (a
1
, a
2
, b
3
, . . . , b
100
):10}
Close cube:
Closed cell c: Si no existe ninguna, es un descendiente de c, y un valor
d tiene el mismo valor que c.
Closed cube: Un cubo consiste en solo una celda cerrada
Cube Shell
Pre procesamiento solo participan pequeas cantidades de
dimensiones, ej 3d.
Muchas de las combinaciones de las dimensiones necesitan
procesamiento para ser eficiente
Por (X
1
, X
2
, X
10
), Muchas combinaciones?
Agenda
Conceptos
Mtodos de procesamiento de cubos
Conclusiones
Los problemas con N dimensiones
No existe ningn mtodo de procesamiento que pueda
manejar cantidades infinitas de informacin.
Una base de datos con 600 mil registros. Con una
cardinalidad de 100 y Zipf de 2
High-D OLAP
Cambios en los mtodos de procesamiento de cubos:
La maldicin de las dimensiones.
Iceberg cube and compressed cubes: Solo retrasan el
problema de la tendencia al infinito de los datos.
Full materialization: Implica altos costos de
procesamiento y I/O.
High-D OLAP son necesarios en aplicaciones de:
Ciencias y anlisis de ingeniera.
Anlisis Bio-datos : Miles de genes
Encuesta estadsticas: Cientos de variables
Fast High-D OLAP con Minimal Cubing
Observacin: OLAP son funcionales con pequeas cantidad de
dimensiones al mismo tiempo.
Modelo procesamiento Semi-Online
1. Particionamento de Set por medio de shell fragments
2. Procesamiento de informacin de cubos sobre shell
fragment por medio de inverted indices o value-list
indices
3. Basados pre-computed fragment cubes, dinmico
procesamiento de registro de cubo, gran rendimiento
dimensional online
Propiedades de mtodo propuesto
Particionamiento vertical de los datos.
Reduce los altos costos dimensionales de los cubos por medio
de set con pequeas cantidades de dimensiones.
Online re-construccin del espacio original de high-
dimensional
Sin perdida de datos.
Ofrece beneficios de pre-procesamiento y anlisis en lnea.
Ejemplo de procesamiento
Agregacin de la funcin count
Dividir las 5 dimensiones dentro de 2 shell fragments:
(A, B, C) and (D, E)
tid A B C D E
1 a1 b1 c1 d1 e1
2 a1 b2 c1 d2 e1
3 a1 b2 c1 d1 e2
4 a2 b1 c1 d1 e2
5 a2 b1 c1 d1 e3
1-D Inverted Indices
invert index o RID list
Attribute Value TID List List Size
a1
1 2 3 3
a2
4 5 2
b1
1 4 5 3
b2
2 3 2
c1
1 2 3 4 5 5
d1
1 3 4 5 4
d2
2 1
e1
1 2 2
e2
3 4 2
e3
5 1
Shell Fragment Cubes
Generalizando 1-D inverted indices a multi-dimensional
sobre los datos del cubo.
Calcular todos los cuboids sobre los datos de los cubos
ABC y DE conservando los inverted indices
Ejemplo, shell fragment
cubo ABC contiene 7
cuboids:
A, B, C
AB, AC, BC
ABC
13
1
1
1 2 3 1 4 5
a1 b1
0 4 5 2 3
a2 b2
2
4 5 4 5 1 4 5
a2 b1
2
2 3 1 2 3 2 3
a1 b2
List Size TID List Intersection Cell