Uploaded by Jorge Alberto Lazaro Mendez

ROLAP

advertisement
INTRODUCCIÓN A BODEGAS DE DATOS Y TECNOLOGÍA OLAP
Sistemas ROLAP
En los sistemas ROLAP (Relational On Line Analytic Processing), los Cubos Multidimensionales se
generan en el momento en que se realizan las consultas. Esta arquitectura accede a los datos
almacenados en un Data Warehouse para proporcionar los análisis OLAP. La premisa de los sistemas
ROLAP es que las capacidades OLAP se soportan mejor contra las bases de datos relacionales.
El sistema ROLAP utiliza una arquitectura de tres niveles. La base de datos relacional maneja los
requerimientos de almacenamiento de datos, y el motor ROLAP proporciona la funcionalidad
analítica. El nivel de base de datos usa bases de datos relacionales para el manejo, acceso y
obtención del dato. El nivel de aplicación es el motor que ejecuta las consultas multidimensionales
de los usuarios. El motor ROLAP se integra con niveles de presentación, a través de los cuáles los
usuarios realizan los análisis OLAP. Después de que el modelo de datos para el Data Warehouse se
ha definido, los datos se cargan desde el sistema operacional. Se ejecutan rutinas de bases de datos
para agregar el dato, si así es requerido por los modelos de datos. Se crean entonces los índices para
optimizar los tiempos de acceso a las consultas.
Los usuarios finales ejecutan sus análisis multidimensionales, a través del motor ROLAP, que
transforma dinámicamente sus consultas a consultas SQL. Se ejecutan estas consultas SQL en las
bases de datos relacionales, y sus resultados se relacionan mediante tablas cruzadas y conjuntos
multidimensionales para devolver los resultados a los usuarios.
La arquitectura ROLAP es capaz de usar datos precalculados si estos están disponibles, o de generar
dinámicamente los resultados desde los datos elementales si es preciso. Esta arquitectura accede
directamente a los datos del datawarehouse, y soporta técnicas de optimización de accesos para
acelerar las consultas. Estas optimizaciones son, entre otras, particionado de los datos a nivel de
aplicación, soporte a la desnormalización y joins múltiples.
Este proceso se puede resumir a través de los siguientes pasos:
1.
Se describe la metadata del Cubo: Indicadores, Atributos, Jerarquías, etc.
2.
Se almacena la metadata.
3.
El Motor Multidimensional del visor OLAP que se esté utilizando, carga la metadata con la
cual realizará un mapeo entre los datos del DW y los Atributos, Indicadores, etc.
4.
Cada vez que se actualiza el DW, se debe borrar la caché del Motor Multidimensional a fin
de visualizar los nuevos datos. Esto se debe a que los motores ROLAP hacen uso exhaustivo del
caché, lo cual permite que el motor evite consultar dos veces el mismo dato, ya que una vez
consultado será almacenado en caché.
Sistemas MOLAP
MOLAP (Multidimentional On Line Analytic Processing) precalcula los Cubos Multidimensionales y
los almacena físicamente. Esta arquitectura usa unas bases de datos multidimensionales para
proporcionar el análisis, su principal premisa es que el OLAP está mejor implantado almacenando
los datos multidimensionalmente. Por el contrario, la arquitectura ROLAP cree que las capacidades
OLAP están perfectamente implantadas sobre bases de datos relacionales Un sistema MOLAP usa
una base de datos propietaria multidimensional, en la que la información se almacena
multidimensionalmente, para ser visualizada en varias dimensiones de análisis.
El sistema MOLAP utiliza una arquitectura de dos niveles: la bases de datos multidimensionales y el
motor analítico. La base de datos multidimensional es la encargada del manejo, acceso y obtención
del dato. El nivel de aplicación es el responsable de la ejecución de los requerimientos OLAP. El nivel
de presentación se integra con el de aplicación y proporciona un interfaz a través del cual los
usuarios finales visualizan los análisis OLAP. Una arquitectura cliente/servidor permite a varios
usuarios acceder a la misma base de datos multidimensional.
La información procedente de los sistemas operacionales, se carga en el sistema MOLAP, mediante
una serie de rutinas por lotes. Una vez cargado el dato elemental en la Base de Datos
multidimensional (MDDB), se realizan una serie de cálculos por lotes, para calcular los datos
agregados, a través de las dimensiones de negocio, rellenando la estructura MDDB. Tras rellenar
esta estructura, se generan unos índices y algoritmos de tablas hash para mejorar los tiempos de
accesos a las consultas. Una vez que el proceso de compilación se ha acabado, la MDDB está lista
para su uso. Los usuarios solicitan informes a través de la interface, y la lógica de aplicación de la
MDDB obtiene el dato. La arquitectura MOLAP requiere unos cálculos intensivos de compilación.
Lee de datos pre compilados, y tiene capacidades limitadas de crear agregaciones dinámicamente
o de hallar ratios que no se hayan pre calculados y almacenados previamente.
Este proceso se puede resumir a través de los siguientes pasos:
1.
Se seleccionan los Indicadores, Atributos, Jerarquías, etc., que compondrán el Cubo
Multidimensional.
2.
Se pre calculan los datos del Cubo, es decir, todas las combinaciones posibles entre los
niveles de las Jerarquías de cada Dimensión.
3.
Se ejecutan las consultas sobre los datos precalculados del Cubo.
4.
Cada vez que se actualiza el DW, se debe pre calcular y guardar el Cubo, para que contenga
los nuevos datos.
Sistemas HOLAP
HOLAP (Hybrid On Line Analytic Processing) constituye un sistema híbrido entre MOLAP y ROLAP,
que combina estas dos implementaciones.
Los datos agregados y precalculados se almacenan en estructuras multidimensionales y los de
menor nivel de detalle en estructuras relacionales. Es decir:
 Se utilizará ROLAP para navegar y explorar los datos a bajos niveles de granularidad y
 Se utilizará MOLAP para la explotación de datos precalculados, por lo general sumatorias o
funciones de alto de nivel de agregación, suelen ser los más utilizados en los dashboards.
2. Describe y ejemplifica el método de Multi-way array
aggregation o Multi array aggregation para el cálculo de cubo de
datos.
El método Multiway Array Aggregation (o simplemente MultiWay) calcula un cubo de datos
completo utilizando una matriz multidimensional como su estructura de datos básica. Eso es un
enfoque típico de MOLAP que utiliza direccionamiento de matriz directa, donde se accede a los
valores de dimensión a través de la posición o índice de su matriz correspondiente ubicaciones. Por
lo tanto, MultiWay no puede realizar ningún reordenamiento basado en valores como técnica de
optimización. Se desarrolla un enfoque diferente para el sistema construcción de cubos, de la
siguiente manera:
1. Dividir la matriz en trozos. Un trozo es un subcubo pequeño suficiente para caber en la memoria
disponible para el cálculo del cubo. Fragmentación es un método para dividir una matriz ndimensional en pequeñas n-dimensiones fragmentos, donde cada fragmento se almacena como un
objeto en el disco. Los trozos son comprimidos para eliminar el espacio desperdiciado resultante de
celdas de matriz vacías. Una celda está vacía si no contiene ningún dato válido, es decir, su recuento
de celdas es cero. Por ejemplo, "chunkID + offset" se puede utilizar como direccionamiento de celda
mecanismo para comprimir una estructura de matriz dispersa y al buscar para celdas dentro de un
fragmento. Tal técnica de compresión es poderosa en manejo de cubos dispersos, tanto en disco
como en memoria.
2. Calcule agregados accediendo a los valores en las celdas del cubo. El orden en el que se visitan las
celdas se puede optimizar para minimizar el número de veces que cada celda debe ser revisada,
reduciendo así costos de almacenamiento y acceso a la memoria. La optimización consiste en
explotar este orden que las porciones de las celdas agregadas en múltiples cubo se pueden calcular
simultáneamente, y se evita cualquier revisión innecesaria de las celdas. Esta técnica de
fragmentación implica superponer algunos de los cálculos de agregación, por lo tanto, se denomina
agregación de matriz de múltiples vías. Eso realiza agregación simultánea, es decir, calcula
agregaciones simultáneamente en múltiples dimensiones.
3. Describe y ejemplifica el método Bottom-up-Computation para
el cálculo de cubo de datos.
BUC es un algoritmo para el cálculo de cubos dispersos e iceberg. A diferencia de MultiWay, BUC
construye el cubo desde el vértice hacia la base cubo. Esto permite que BUC comparta los costos de
partición de datos. Este orden de procesamiento también permite a BUC podar durante la
construcción, utilizando la propiedad Apriori. La figura muestra una red de cubo, formando un cubo
de datos 3-D con las dimensiones A, B y C.
Figura1. Exploración BUC para un cubo 3-D [5]
El vértice (0-D) cubo, que representa el concepto (es decir, (∗, ∗, ∗)), está en la parte superior del
enrejado. Este es el más agregado o nivel generalizado. El cubo de base tridimensional, ABC, se
encuentra en la parte inferior del enrejado. Eso es el nivel menos agregado (más detallado o
especializado). Esta es una representación con el ápice en la parte superior y la base en la parte
inferior, se acepta comúnmente en el almacenamiento de datos. Consolida las nociones de desglose
(donde podemos pasar de una celda muy agregada a una celda más baja y más detallada celdas) y
roll-up (donde podemos pasar de celdas detalladas de bajo nivel a celdas de nivel superior más
agregadas).
Los autores de BUC ven un entramado de cubo en orden inverso, con el vértice cubo en la parte
inferior y la base cubo en la parte superior. Desde ese punto de vista, BUC realiza una construcción
de abajo hacia arriba. Sin embargo, porque adoptamos la visión del mundo de las aplicaciones donde
la exploración en profundidad se refiere a la perforación desde el vértice cubo hacia abajo hacia el
cubo base, el proceso de exploración de BUC se considera de arriba hacia abajo. Exploración de BUC
para el cálculo de un 3-D
Figura 2. El algoritmo BUC [5]
Inicialmente, el algoritmo es llamado con la relación de entrada (conjunto de tuplas). BUC agrega
toda la entradalínea 1) y escribe el total resultante (línea 3). (La línea 2 es una función de
optimización.) Para cada dimensión d (línea 4), la entrada está dividido en d (línea 6). Al regresar de
Partition (), dataCount contiene el número total de tuplas para cada valor distinto de dimensión d.
Cada uno distinto.
El valor de d forma su propia partición. La línea 8 recorre cada partición. Línea 10 prueba la partición
para obtener un soporte mínimo. Es decir, si el número de tuplas en la partición satisface (es decir,
es ≥) el soporte mínimo, entonces la partición se convierte en la relación de entrada para una
llamada recursiva realizada a BUC, que calcula el cubo de iceberg en las particiones para las
dimensiones d + 1 a numDims (línea 12).
4. Describe y ejemplifica la inducción orientada a los atributos
Esta aproximación toma consultas de minería de datos expresadas en un lenguaje similar al SQL y
guarda los grupos de datos relevantes en la base de datos. La generalización se hace entonces sobre
un conjunto de datos relevantes utilizando diferentes técnicas, como árboles de decisión,
extracción de atributos, funciones de agregación, entre otras.
La generalización de datos se expresa en una forma de relaciones generales, donde cada uno de los
operadores o transformaciones puede transformar los datos generalizados en diferentes tipos de
conocimiento o presentarlos en formas diferentes. Por ejemplo, las operaciones de drill – down o
roll – up pueden presentar vistas de los datos con múltiples niveles de abstracción, la relación
generalizada puede ser presentada por medio de tablas de sumarización, gráficas, curvas, etc. De
aquí se puede extraer reglas características las cuales sumarizan, las características de los datos
generalizados.
Una aplicación de este tipo de minería, se presenta en la Figura
Figura 3. Identificación de los grupos en los subespacios del espacio de datos original [4]
La cual presenta las características generales de la base de datos de donaciones para investigación
del Natural Science and Engineering Research Council of Canada (NSERC). Aquí se muestran los
resultados de ejecutar consultas de minería de datos sobre las donaciones recibidas por dos
provincias vecinas al oeste de Canadá, en la disciplina de ciencias de la computación; las provincias
comparadas son: British Columbia y Alberta.
Figura 4. Ejemplo: Comparación de donaciones para investigación [4]
La tabla de la figura anterior, se compone de varias columnas: clase, la cual indica la provincia;
disciplina, que indica la disciplina de investigación; la categoría de la donación; cantidad por
categoría; porcentaje de soporte, el cual representa el número de las donaciones de investigación
en la categoría analizada vrs el total de donaciones en la respectiva provincia; y el porcentaje de
comparación, el cual representa el número de donaciones de una categoría específica en una
provincia vrs la otra. Por ejemplo, la primera fila de la tabla indica que para donaciones de
infraestructura en la disciplina de computación, en el rango de 40Ks a 60Ks, British Columbia tomó
el 2% del total de donaciones en computación. Por su parte, Alberta, tomó el 1.72%; sin embargo si
se realiza una comparación entre ambas provincias, se observa que British Columbia tomó el
66.67%, mientras que Alberta tomó solamente el 33.33%. [4].
Referencias
[1] Fernandez V, ¿Qué son los esquemas multidimensionales?,
https://datamanagement.es/2020/04/03/esquemas-data-warehousing
recuperado
de
[2] Jiawei H, 2011, Data Mining: Concepts and Techniques, 3rd ed. Morgan Kaufmann Publishers,
July 2011. ISBN 978-0123814791
[3] Quesada O, 2003, Establecimiento de un grupo de indicadores de un grupo de indicadores para
la toma de desiciones en el sector vivienda utililizando técnicas de minería de datosOS, tesis para
optar por el grado de Máster en Computación, Departamento de Computación, Instituto
Tecnológico de Costa Rica.
[4] Chen, Ming-Syan,1996, Data Mining: An Overview from a Database Perspective. Recuperado de:
http://hanj.cs.illinois.edu/pdf/survey97.pdf
[5] Jiawei Han, 2013, Data Mining: Concepts and Techniques 3rd Edicion, Kamber & Pei
Download