Download Almacenamiento de Datos y OLAP

Document related concepts
no text concepts found
Transcript
Almacenamiento de Datos y
OLAP
M.C. Juan Carlos Olivares Rojas
Agenda
Introducción
Arquitectura de un datawarehouse
OLAP
Introducción
• Para cualquier Sistema de Información
Avanzado
(SIA)
el
poder
procesar
información de manera rápida se ha vuelto
una necesidad muy importante.
• Por este motivo se necesita la construcción
de base de datos con características
especiales que permitan mejorar los
procesos.
Introducción
• En la gran mayoría de los casos, estos
nuevos diseños no siguen diseños lógicos,
por lo que la desnormalización de base de
datos es muy común.
• Muchas herramientas como hojas de cálculo
y paquetes estadísticos permiten obtener
información para el soporte para toma de
decisiones, desgraciadamente el volumen de
información es muy pequeño.
Arquitectura de un datawarehouse
• Las bases de datos pueden ser clasificadas
de distintos tipos. En general se tienen bases
de datos transaccionales e históricas.
• Las bases de datos históricas no son
modificadas pero sirven para llevar un
registro de todo lo ocurrido
Almacén de Datos
• Los almacenes de datos son del mismo tipo,
no volátiles y variantes en el tiempo.
• Es una base de datos limpia ya que no están
todas las transacciones.
• Un almacén de datos debe tener más de
500GB y una tasa de crecimiento del 50%
anual.
Datamarts
• Son repositorios de datos más pequeños
utilizados generalmente para reportes o usos
más genéricos.
• La característica principal es que es volátil;
es decir, los valores de los datos pueden ser
modificados para realizar simulaciones de
escenarios del tipo: ¿que pasaría si…?
• Existen diversos métodos de diseño, siendo
• los más populares: estrella y copo de nieve.
Esquema Estrella
• También llamado dimensional, contiene una
tabla de hechos que es aquella que contiene
toda la información y tiene varias tablas de
dimensiones que contienen el catálogo de la
información.
• Se asemeja mucho a un base de datos
normalizada, entonces ¿Cuál es la
diferencia?
Esquema Estrella
• El esquema de estrella sólo tiene un nivel.
• El tener todos los hechos juntos y las
dimensiones separadas permite que las
“juntas” sean mínimas ocupando menos
tiempo las consultas.
• La tabla de hechos es más grande en
atributos y tuplas que las de dimensiones.
Esquema Copo de Nieve
• El diseño es ad hoc y es difícil de cambiar
(aplica también en estrella).
• Es una variante del esquema de estrella, el
cual normaliza toda las tablas de
dimensiones.
• Tiene algunas mejoras de espacio pero en
ocasiones las consultas son más lentas.
Errores de Diseño
• A continuación se muestran algunas
características que hacen que la gran
mayoría de los diseños de base de datos
para DSS sean ineficientes:
• Filas duplicadas, al no tener ID.
• Desnormalización: puede ser buena a nivel
físico pero no a nivel lógico.
• Esquemas de “Estrella”: tratan de tomar
atajos, es poco el ahorro en muchos casos.
Errores de Diseño
• Nulos. Se trata de ahorrar tamaño en
algunos campos poniendo valores nulos, lo
cual no es correcto.
• Diseño de tablas de resumen aumenta la
redundancia de los datos.
• Existen varias rutas de navegación, lo que
hace el diseño inconsistente.
Preparación de los Datos
• A continuación se muestra el flujo de trabajo
que siguen los datos en un sistema DSS.
• Extracción: Consiste en obtener los
bases de datos operacionales
fuentes. Generalmente es un
manual aunque ya existen
asistentes.
datos de
y otras
proceso
algunos
Preparación de Datos
• Limpieza: se requiere antes de procesar los
datos, implica acciones como llenado de
valores faltantes, correcciones tipográficas,
establecimiento de abreviaturas, etc.
• Transformación y consolidación: los datos se
adecuan a la aplicación, si vienen de varias
fuentes se integran en una sola,
consolidándose sobre todo en el tiempo.
Preparación de los Datos
• Carga: consiste en llevar los datos
transformados y consolidados hacia las base
de datos de apoyo a la toma de decisiones,
la verificación de su integridad y la
construcción de índices.
• Actualización:
es
un
proceso
poco
desarrollado, el cual consiste en la carga de
los elementos más actuales.
OLAP
• OLAP (OnLine Analythic Process) Proceso
Analítico en Línea permite obtener
información
de
bases
de
datos
multidimensionales que son útiles en la toma
de decisiones.
• En esquemas tradicionales, la agrupación de
datos se puede realizar pero va requerir de n
agrupaciones distintas para n consultas
diferentes, teniendo un resultado muy pobre.
OLAP
• Considérese la siguiente tabla:
V# P# Cant
V1 P1 300
V1 P2 200
V2 P1 300
V2 P2 400
V3 P2 200
V4 P2 200
• Obtener la cantidad total
envíos.
• Obtener las cantidades totales
envíos por proveedor.
• Obtener las cantidades totales
envíos por partes.
• Obtener las cantidades totales
envíos por partes y proveedor.
de
de
de
de
OLAP
• Proceso interactivo de crear, mantener,
analizar y elaborar informes sobre datos.
• En muchas ocasiones se hacen consultas
similares con valores diferentes, lo que trae
como consecuencia muchas consultas
independientes y más retraso.
OLAP
• SQL3 define tres operadores para GROUP
BY: GROUPING SETS, ROLLUP y CUBE.
• Las tablas en un almacén de datos se
consideran hipercubos dependiendo de sus
dimensiones.
• Existen dos tipos de OLAP: ROLAP
(Relacional) y MOLAP (multidimensional).
Bases de Datos
Multidimensionales
Figura 7-14
Almacén de Datos
Estándares SQL
• En 1986 ANSI estandariza el lenguaje SQL y
en 1987 ISO, después de 10 años de haber
aparecido SQL.
• Se han tenido las siguientes actualizaciones
SQL89, SQL92 (las modificaciones más
importantes), SQL99 (BDOO) y SQL2003
(XML).
• SQL cuenta con soporte para OLAP.
Consultas Multidimensionales
• GROUP BY, ROLLUP y CUBE son casos
particulares de GROUPING SETS
• GROUP BY CUBE (A,B,C) define los
subconjuntos: ((A,B,C), (A,B), (A,C), (A),
(B,C), (B), (C), ())
• GROUP BY ROLLUP
((A,B,C), (A,B), (A), ())
(A,B,C)
• GROUP BY (A,B,C) define: (A,B,C)
define:
Referencias
• Date C. (2001), “Introducción a los sistemas
de base de datos”, 7a. Edición, Pearson
educación, México, 2001, ISBN: 968-444419-2, pp. 709-725.
¿Preguntas, dudas y
comentarios?