Una vez que haya verificado el modelo dimensional, diseñe la base de datos física. Desarrolle estrategias para gestionar la agregación, agregue la navegación, el indexado y el particionamiento de los datos al modelo dimensional.
Cuando diseñe la base de datos física, recopile los siguientes metadatos:
- Información de agregación, incluida la siguiente información:
- Número de tablas de agregación
- Frecuencia y estadísticas de carga
- Estadísticas de uso
- Reglas y estadísticas de archivado
- Reglas y estadísticas de depuración
- Calidad y precisión de los datos
- Estrategias de indexado para tablas de dimensiones y hechos
Diseño de agregaciones
En términos simples, la agregación es el proceso que consiste en calcular datos de resumen de los registros de tablas de hechos de nivel base detallados. Los agregados son una potente herramienta que permite aumentar la velocidad de proceso de consultas en las despensas de datos dimensionales.
La agregación se realiza generalmente utilizando atributos de una dimensión que forman parte de una jerarquía.
Cada atributo que pertenece a una jerarquía se asocia como padre o hijo a otros atributos de la jerarquía. Esta relación padre-hijo proporciona distintos niveles de resumen. Los distintos niveles de resumen proporcionan al usuario de negocio la capacidad de detallar menos o detallar más el informe.
Los datos altamente agregados se recuperan más rápidamente que los datos detallados de nivel atómico. La tabla de hechos generalmente ocupa un gran volumen de espacio cuando se compara con los datos de agregación.
El nivel más bajo de agregación (o el nivel más alto de detalle) aparece mencionado como el grano de la tabla de hechos. La granularidad de la dimensión afecta al diseño del almacenamiento de datos y a cómo se recuperan los datos.
La agregación de tablas de hechos atómicas detalladas aumenta el rendimiento de las consultas. Sin embargo, la agregación tiene costes asociados:
- Almacenamiento
- Coste para crear y mantener los procesos para gestionar las tablas agregadas
La agregación no es un sustituto de la reducción del tamaño de las tablas de hechos grandes y detalladas. Si los datos de la tabla de hechos están resumidos, la información detallada que está en forma de dimensiones y medidas se pierde con frecuencia. Si el negocio necesita datos detallados de una tabla de hechos resumidos, dichos datos no estarán disponibles. El usuario deberá buscar los detalles en el sistema OLTP de origen que ha proporcionado los datos de la tabla de hechos agregados. Si el negocio debe utilizar los sistemas OLTP de origen para obtener las respuestas, vuelva a evaluar la necesidad de disponer de un modelo dimensional.
Evite mezclar datos agregados y datos detallados incluyendo medidas agregadas de año a fecha con las medidas detalladas. Las medidas de año a fecha son aditivas, y si mezcla los tipos de datos pueden producirse errores de cálculo.
Para preparar tablas de agregación, realice los pasos siguientes:
- Identifique todas las dimensiones y sus jerarquías en el modelo dimensional atómico de nivel base. Estas dimensiones y jerarquías se identifican en el modelo dimensional atómico de nivel base.
- Identifique todas las combinaciones posibles de estos atributos de jerarquía que el negocio utiliza para crear informes. Identifique todos los atributos de las jerarquías para determinar qué atributos se utilizan juntos con frecuencia. Este paso es especialmente importante si hay un número enorme de dimensiones con varias jerarquías que contienen varios atributos.
- Calcule el número de valores que tiene cada atributo. El número de valores que tiene cada atributo indica si el atributo se ha agregado. Por ejemplo, si incluye un miembro de bajo nivel que tiene muchos miembros, puede descartar ese atributo y elegir un atributo de mayor nivel, que tendrá menos valores.
- Valide el conjunto final de atributos candidatos y cree el modelo dimensional agregado.
Creación de índices
Puede mejorar el rendimiento de las consultas creando índices. Para obtener más información sobre los índices, consulte
Índices.
Tablas de particiones
Cuando se particiona una tabla, se divide por fila, por columna o por ambas cosas. Si una tabla se divide por columna, estará particionada verticalmente. Si se divide por fila, estará particionada horizontalmente. La partición de grandes tablas de hechos mejora el rendimiento, ya que cada partición es más manejable. Particione una tabla según la dimensión de fecha de transacción de un modelo dimensional. Por ejemplo, si una enorme tabla de hechos tiene miles de millones de filas, sería ideal asignar a los datos de cada mes su propia partición.
Conseguirá varios objetivos si particiona los datos en un depósito de datos, incluidos los siguientes objetivos:
- Proporcionar acceso flexible a los datos
- Proporcionar servicios de gestión de datos fáciles y eficaces
- Garantizar la escalabilidad del depósito de datos
- Habilitar la portabilidad de los elementos del almacén de datos, lo que permite compartir esos elementos en distintos depósitos de datos o archivarlos fácilmente.
- Mejorar los tiempos de respuesta de las consultas
- Facilitar aún más el mantenimiento, ya que las particiones son más fáciles de mantener que las grandes tablas