Anda di halaman 1dari 24

Csar Oviedo

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

Shell Fragment Cubes: Diseo y tamao


Tomando en cuenta el tamao de la base de dato T
registros, D dimensiones, y F tamao de los shell
fragment:

Para F < 5, crecimiento es sub-linear
Shell fragments no deben ser disjoint
El agrupamiento de los fragmentos puede ser aleatorio, si
es que se consigue mejor rendimiento
Un ejemplo (<Provincia, Pas>) deben estar agrupado.
El tamao de los Shell fragment sizes puede ajustarse
para optimizar el procesamiento online y offline
14

O T
D
F



(
(
(
(2
F
1)
|
\

|
.
|
ID_Measure Table
Si las mtricas en un cubo aplican funciones de
agregaciones distintas al count es necesario tomar en
cuenta un identificador de registro
15
tid count sum
1 5 70
2 3 10
3 8 20
4 5 40
5 2 30
Algoritmo Frag-Shells (1)
16
Algoritmo para Shell Fragment-Based Query Processing

Algoritmo para Shell Fragment-Based Query
Processing
18
A B C D E F
Cubo
ABC
Cubo
DEF
D Cuboid
EF Cuboid
DE Cuboid
Cell Tuple-ID List
d1 e1 {1, 3, 8, 9}
d1 e2 {2, 4, 6, 7}
d2 e1 {5, 10}

Dimensions
Online Query Computation
19
A B C D E F G H I J K L M N
Cubo en
linea
Instancia base
De tabla
Experimento: Tamao vs. Dimensiones (50 and
100 cardinalidad)
20
Experimento: Procesamiento en base a
procesador
21
Experimento: I/O
22
Conceptos
Mtodos de procesamiento de cubos
Conclusiones
Agenda
Conclusiones
Los mtodos convencionales de procesamiento en
sistemas OLAP muestran deficiencia, cuando se tiene
soluciones con muchas dimensiones, los altos costos
de procesamiento en procesador, I/O son los
principales problemas. Es por esa razn que la
implementacin de un procesamiento basado en
fragmento puede optimizar no solo consultas en
sistemas OLAP, si no disminuir significativamente
costos en procesador y I/O, permitiendo tener sistemas
hbridos online y offline de alto rendimiento.

Anda mungkin juga menyukai