Optimización de Consultas Multidimensionales: Técnicas y Soluciones
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 5,03 KB
Consultas Multidimensionales
Técnicas de Navegación
- Drill Down: Desplegar información a más detalle dentro de un elemento, moviéndose en una dimensión (ej. Región > Ciudad/Departamento > Categoría).
- Drill Across: Desplegar información a más detalle introduciendo una dimensión que no está presente (ej. Región).
- Roll Up: Calcular sobre el resultado de la consulta (group by) agregando progresivas sobre los atributos de agrupación de la consulta (ej. Ciudad > Región).
- Roll Across (RA): Elimina una dimensión agregando sobre todos los valores de dicha dimensión. Granulo o nivel de detalle más grueso.
- Slice: Elimina dimensiones, fijando un valor para dicha dimensión. El granulo o nivel de detalle es el mismo (Where DjCj=cte).
- Dice: Similar a Slice, pero se fijan valores para múltiples dimensiones.
- Cube: Calcula sobre el resultado de una consulta (group by) todas las agregaciones que pueden definirse combinando las dimensiones de la consulta.
Problemas y Soluciones en Jerarquías
- No Completitud: Cuando la cardinalidad mínima entre Ni y Ni+1 en una dimensión es 0. Problema: pérdida de información; hechos que no son contabilizados en informes agregados sobre algunos niveles de la dimensión.
- No Balanceada (A->B): Cardinalidad mínima de B = 0.
- No Estricta: Aparece cuando se da una cardinalidad máxima * entre Ni y Ni+1. Soluciones: dividir instancias del Ni que se asocian con más de una instancia del Ni+1, para que su asociación sea con una sola, consiguiendo que la cardinalidad máxima de la relación sea 1; unir las instancias Ni+1 con las que se asocia una instancia del Ni, para que la cardinalidad máxima sea 1; eliminar el Ni de la jerarquía.
- Relación de Nivel (A→B): Cardinalidad mínima de A = 0 → No Completa / Máxima de A = * → No Estricta / Mínima de B = 0 → No Balanceada. Restricción multiplicidad: relación jerárquica pura: A(1,1), B(1,*).
Diseño de Dimensiones
- Desnormalización: Todos los atributos de una dimensión están incluidos en una única tabla.
- Normalización: Cada tabla incluye el ID interno (ej. C.Aj) del nivel 'padre'.
- Modelo Normal: Es una dimensión normalizada que contiene en cada nivel el ID interno de niveles antecesores en todas las jerarquías a las que pertenece (reduce el número de joins durante consultas). Elimina la redundancia de una jerarquía desnormalizada y la necesidad de concatenar todos los niveles de una jerarquía normalizada.
Manejo de Datos Agregados
- Datos Agregados: Insertar en la tabla de hechos (H) filas con información agregada y en las tablas de dimensiones (D) nuevas filas que representen los diferentes niveles de agregación. La tabla D debe incluir un nuevo atributo "niv_agreg", que permita diferenciar las filas que representan los valores básicos y las filas que representan los niveles de agregación. Problema: doble conteo.
- Doble Conteo (DC): Cuando en una consulta no se controla que las filas seleccionadas de la tabla D tengan el mismo valor en el atributo "niv_agreg". Se contabilizan varias veces, una por cada nivel de agregación considerado. Aparece cuando en dimensiones con relación no estricta (cardinalidad máxima superior a 1). Solución: controlar el nivel de agregación, agregar datos de dos niveles de agregación diferentes.
Dimensiones Muy Grandes
- Dimensiones Muy Grandes: Penalizan gravemente la evaluación de consultas que las incluyen. Solución: extraer minidimensiones de la dimensión original (minidimensión = separar un grupo de atributos afines de la dimensión original en una dimensión auxiliar; tantas filas como combinaciones diferentes de valores se puedan generar para los atributos de la minidimensión).
Restricciones y Consideraciones Adicionales
- Restricción de Cardinalidad: (H(1,1), D(0,*)).
- Varias Versiones del Mismo Objeto: Porque se haya producido un cambio de valor en un atributo analítico de dicho objeto.
- Esquemas Multidimensionales: N...1 + N...N ← Incorrecto por relación M...M, dos esquemas a diferente granularidad. Solución: introducir otra tabla de hechos.
- No se Usan Claves Identificadoras de los Objetos: En OLTP se puede decidir reutilizar valores de la clave no utilizados actualmente en la organización y cambiar la codificación de las claves. Aumenta el tamaño de la tabla de hechos.
- MOLAP: Los datos se almacenan en estructuras multidimensionales.
- HOLAP: En tablas relacionales a partir de las que se construyen matrices multidimensionales.