Pulse aquí para obtener el archivo

Anuncio
Data Warehousing
Diseño e implementación
de un data warehouse
Marta Millan
[email protected]
www.eisc.univalle.edu.co/materias
Estrategia de división
• ¿Por qué dividir las tablas?:
• Facilidad de manejo
• Mejora en el rendimiento
• Dos estrategias:
• Horizontal
• Vertical
División horizontal
• Dividir tablas horizontalmente acelera
las consultas minimizando el conjunto de
datos
• Formas de dividir:
• Segmentos de tiempo iguales
• Segmentos de tiempo diferentes
• Dividir por una dimensión diferente al
tiempo
Segmentos de tiempo iguales
•
Forma más común de división
•
Se divide la tabla de hechos usando el
tiempo como medida, usando periodos de
tiempo significativos para la empresa (mes,
trimestre, año)
•
Algunas divisiones tendrán muchos datos,
mientras que otras tendrán muy pocos
Segmentos de tiempo diferentes
Cuando datos antiguos no se utilizan: dividir la
tabla de hechos en segmentos de tamaño
diferente:
Divisiones pequeñas para los datos
recientes
Divisiones algo más grandes para datos
mas antiguos
Las divisiones mayores para los datos más
antiguos
Dividir por una dimensión diferente al
tiempo
•
División por tiempo más común. En
ocasiones dividir por producto, región,
proveedor o cualquier otra dimensión
•
No dividir nunca usando una dimensión
que pueda cambiar durante la vida del data
warehouse
División vertical
Se dividen los datos verticalmente. Dos
formas:
Normalización
División por columnas
División vertical (ii)
División vertical: normalización
Normalizar los datos dentro de un data
warehouse puede producir “joins” muy
grandes y muy ineficientes, evitar
División vertical: división por columnas
•
La división por columnas acelera el acceso
a las tablas más grandes reduciendo su
tamaño
•
Hacerlo si se sabe con seguridad que
algunas columnas generalmente no se
acceden
Agregaciones
Aceleran consultas más comunes
Costo de crear y de gestionarlas vs.
beneficios de hacerlo
¿Qué es una agregación?
•
•
La mayoría de las consultas sobre un
subconjunto o agregación de datos
detallados
Ejemplo:conocer las ventas de un
determinado producto en un depto.: usar
tablas resumen
Diseñando tablas resumen
Diseño similar a las tablas de hechos:
Determinar las dimensiones por las cuáles agregar
Determinar la agregación de múltiples valores
Agregar varios hechos en la tabla resumen
Determinar el nivel de agregación
Diseñar el tiempo en la tabla resumen
Hacer un índice de la tabla resumen
Determinar las dimensiones por las que agregar
Dos técnicas:
Incorporar la dimensión: consulta frecuente
de datos agregados, crear una tabla con los
datos resumidos y prescindir de la dimensión
Agregar la dimensión: consultas sobre datos
agregados. Crear tablas resumen
prescindiendo de la dimensión agregada
Determinar la agregación de múltiples valores
Si existen muchas consultas que usan más
de un valor agregado sobre la misma
dimensión, agregar los valores requeridos
en un conjunto de columnas dentro de las
misma tabla resumen
Determinar el nivel de agregación
•
•
Agregaciones de un nivel, se pierden datos sobre
el nivel inferior
Opción: agregar los datos a un nivel inferior al
deseado para no perder datos
Ejemplo: Si se quieren datos mensuales,
considerar agregar datos a nivel de semana. No se
pierde el detalle, y siempre se pueden tener los
datos mensuales
Diseñar el tiempo en la tabla resumen
Para acelerar las consultas, se puede
almacenar el tiempo de varias formas:
Como una fecha física: lo más recomendable
Como un desplazamiento: no es apropiado. Se
tarda mucho en calcular el desplazamiento
Como un rango: nada recomendado
Hacer un índice de la tabla resumen
Indexar tablas resumen por los posibles
accesos, nivel de indexación muy alto
sobre las tablas resumen
Estrategia para acelerar consultas
Descargar