data warehouses

Anuncio
DATA WAREHOUSES
Loreto Bravo (basado en slides de Mónica
Caniupán)
Bases de Datos II
2011
ORIGEN
Inicios de los 90s por observaciones de W. Inmon
y E.F. Codd
| Los DW surgen para resolver consultas que no
pueden ser manejadas por Bases de Datos
Operacionales (BDO)
|
DW
y BDO
y
OLAP (On-Line Analytical Processing)
OLTP (On-Line Transaction Processing)
TIPO DE CONSULTAS
¿Cuáles fueron los ingresos totales para Chile en
el tercer trimestre del 2008?
| ¿Cuáles fueron las tres áreas más populares de
cada ciudad para el arriendo de inmuebles el
2008?
| ¿Cúal es el ingreso mensual por venta de
inmuebles en cada sucursal, comparado con el
promedio de los 12 meses anteriores?
| Consultas hipotéticas “Que sucederia si...”
| Analísis de escenarios alternativos, exploratorios,
etc.
|
ARCHITECTURE
OLTP
OLAP
OLTP Applications
GUI, Spreadsheets
DB1
DB2
Data Warehouse
DB3
DATA WAREHOUSE
|
Un data warehouse es un repositorio de datos:
y
y
y
y
y
|
Orientado a temas (no aplicaciones)
Integrado
No volátil
Variante en el tiempo
Apoya la toma de decisiones de una organización
(Inmon, “Building the Data Warehouse”, 1992 )
DATA WAREHOUSE
BDO: orientadas a las
aplicaciones
| Eg. Para una empresa
aseguradora:
|
y
Aplicaciones para
vehículos, salud, vida,
etc.
DW: orientado a
materias del negocio
| Para la misma
aseguradora los temas
son:
|
y
Clientes, políticas,
polizas, etc.
BD OPERACIONALES VS DATA
WAREHOUSES
|
BD Operacionales
y
y
y
y
y
y
y
Orientadas a tareas
básicas y repetitivas
de operación
Transacciones
aisladas, pequeñas
Datos detallados
Datos actuales
Soporta muchos
updates
MB o GB de datos
Muchos usuarios
|
Data Warehouses
y
y
y
y
y
y
y
Orientadas a la toma
de decisiones
Transacciones
complejas con grandes
cantidades de datos
Datos resumidos,
consolidados
Datos históricos
Los updates no son
usuales
GB o TB de datos
Cientos de usuarios
(analistas, expertos,
etc.)
ARQUITECTURA
Servidores
OLAP
Fuentes de Información
Fuentes
Externas
Análisis
Data Warehouse
Herramientas
para extracción,
limpieza, carga,
integración, etc.
Asiste
Herramientas OLAP
para
Consultas/Reportes
BD Operacionales
Data Marts
Subsets of the DWs that focus on
specific topics
CARGA DEL DW
ETL: Extract, transform and Load
| Existen herramientas para limpiar datos i.e.,
detectar anomalias en las fuentes de datos y
corregirlas
|
y
|
violación de restricciones de integridad, descripciones
inconsistentes, asignaciones de valores
inconsistentes, pérdida de datos, etc.
Las herramientas de carga del DW deben realizar
un preprocesamiento de los datos antes de
realizar la carga del DW
PRODUCTOS
PRODUCTOS
|
Dic 2012: Amazon anuncia servicio de DWs en la nube
DATOS MANEJADOS POR
|
DWS TERADATA
2008: Teradata creó el Club de “Petabyte Power Players”:
y eBay: 5 petabytes.
|
El 2010 ya había aumentado a 10 petabytes y se proyectaba
que el 2011 aumentaría a 20 petabytes
Walmart: 2.5 petabytes
y Bank of America: 1.5 petabytes.
y Una compañia de servicios financieros: 1.4 petabytes.
y Dell: 1 petabyte
y
|
2012: el club ya tiene más de 25 miembros
incluyendo (además de los anteriores) a:
y
AT&T, Verizon y Apple.
DATOS MANEJADOS POR
|
|
DWS
TEOCO, una empresa que da servicios de analysis de datos
para empresas de telecomunicaciones informó el 2008:
y Maneja, para una empresa de telecomunicaciones, un
DWs de >200 TB en un DWs DATAllegro
y En total maneja alrededor de 450 TB de DATAllegro
databases
Vertica DWs (2009)
y Cliente de telecomunicaciones con 3 DWs de telco 200
TB, 40 TB y 12 TB.
y Cliente de inversiones con >200 petabytes
CUANTO ES UN PETABYTE?
MODELO DE DATOS
MULTIDIMENSIONAL
DISEÑO DEL DW
|
Un DW esta compuesto de dimensiones y hechos
Hechos: cantidades numéricas, objetos de análisis,
e.g. total de ventas, etc.
y Dimensiones : otorgan contexto a las cantidades
numéricas, e.g. las dimensiones asociadas con una
venta pueden ser el producto, lugar geográfico y el
tiempo
y
|
Los DW se modelan usando un modelo de datos
multidimensional
MODELO DE DATOS MULTIDIMENSIONAL
Las dimensiones tiene atributos que están
organizados en jerarquías
| Esta jerarquía ofrece una forma de navegación
|
Producto
Industria
Localización
País
Categoría
Región
Producto
Ciudad
Tiempo
Año
Semestre
Mes
Semana
Día
MODELO DE DATOS MULTIDIMENSIONAL
|
Los hechos puden verse como puntos en un
espacio multidimensional determinado por las
dimensiones
MODELO DE DATOS MULTIDIMENSIONAL
|
Ejemplo Article DW:
|
|
(a) Dimensión Article (b) Instancia
de hechos
(c) Tabla
EXAMPLE OF COMPLEX DATE DIMENSION
All
Fiscal
Year
Day of
Week
Type of
Day
Fiscal
Quarter
Calendar
Year
Fiscal
Month
Calendar
month
Fiscal
Week
Calendar
Month
Date
Calendar
Week
Holiday
Attribute Name
Attribute Description
Day
The specific day that an activity took
place.
Day of Week
The specific name of the day.
Holiday
Identifies that this day is a holiday.
Type of Day
Indicates whether or not this day is
a weekday or a weekend day.
Calendar Week
The week ending date, always a
Saturday. Note that WE denotes
Calendar Month
The calendar month.
Calendar Quarter
Calendar Year
Fiscal Week
Fiscal Month
Fiscal Quarter
Fiscal Year
Sample Values
06/04/1998; 06/05/1998
Monday; Tuesday
Easter; Thanksgiving
Weekend; Weekday
WE 06/06/1998;
WE 06/13/1998
January,1998; February,
1998
The calendar quarter.
1998Q1; 1998Q4
The calendar year.
1998
The week that represents the
F Week 1 1998;
corporate calendar. Note that the F F Week 46 1998
The fiscal period comprised of 4 or 5 F January, 1998;
weeks. Note that the F in the data
F February, 1998
The grouping of 3 fiscal months.
F 1998Q1; F1998Q2
The grouping of 52 fiscal weeks / 12 F 1998; F 1999
fiscal months that comprise the
financial year.
ESQUEMA DE DIMENSIÓN
|
Un esquema de dimensión S=(C,) :
C : un conjunto de categorías
y : relación hijo/padre entre las categorías
y
Categoría superior (siempre presente)
Categoría inferior o base
y
* es la clausura transitiva y reflexiva de ESQUEMA DE DIMENSIÓN
C = {All, Area, Subject, ISSN, Journal, Article}
= {(Article, Journal), (Journal, Subject), (Journal,
ISSN), (Subject, Area), (ISSN, Area), (Area, All)}
* = ∪ {(Article, Article), (Article, Area), ...}
INSTANCIA DE DIMENSIÓN
|
Un instancia de dimensión D=(M,<) :
M : contiene los elementos de las categorías
y <: relación hijo/padre entre elementos categorías
y
M={All(all), Area(CS),
Area(Bio), ISSN(0362), …}
< = {(CS,all), (DB,CS),
(TODS,0362), …}
<* = < ∪ {(A1,A1), (A1,CS),
(TODS, CS), ...}
y
<* es la clausura transitiva y reflexiva de <
TIPOS DE DIMENSIONES
|
Una instancia de dimensión es homogenea si todo elemento tiene
un ancestro en su categoria padre (definido por el esquema)
3
|
3
De otra forma, la instancia de dimensión es heterogenea
2
PROCESAMIENTO DE CONSULTAS
|
Q: encontrar el número total de downloads por área
Roll-up entre categoría Article y Area
|
Respuesta: <CS,8> <Bio,7>
USANDO RESPUESTAS PRE-COMPUTADAS
|
¿Qué pasaría si tuvieramos computadas
respuestas para Subject o ISSN?
D
|
Podríamos mejorar la eficiencia!!!
USANDO RESPUESTAS PRE-COMPUTADAS
|
Si usamos DownloadsSubject:
D
Respuesta: <CS,8> <Bio,7>
| Si usamos resultados para ISSN obtenemos las
mismas respuestas
|
SUMARIZABILIDAD
Una instancia de dimensión es sumarizable si
respuestas pre-computadas pueden ser usadas
para responder consultas de manera correcta
| Una instancia es sumarizable si:
|
Las consultas usan funciones de agregación
distributivas tales como: MAX, MIN, SUM y COUNT
y Es homogénea
y Es estricta
y
DIMENSIONES ESTRICTAS
|
Cada elemento debe tener un único ancestro en
cada categoría
D’
D
CONSEQUENCIAS DE DIMENSION NO ESTRICTAS
|
Q: encontrar el número total de downloads por
área
D’
CONSEQUENCIAS DE DIMENSION NO ESTRICTAS
|
|
Si usamos DownloadsSubject:
Respuestas:
<CS,8> <Bio,7>
y <CS,15>
y
|
Ambas respuestas son incorrectas
D’
DIMENSIONES ESTRICTAS
Esta propiedad asegura que las relaciones roll-up
sean funcionales
| También es crucial para la eficiencia de los DW
|
y
|
Permite usar respuestas pre-computadas
Esta propiedad debiera ser verificada:
Cuando se cargan datos
y Cada vez que la instancia de dimensión se actualiza
y
OPERACIONES/CONSULTAS EN
DATA WAREHOUSES
OPERACIONES OLAP
Roll-up: generalización y agregación
| Drill-down: desagregación y especialización
|
OPERACIONES OLAP
Roll-up: generalización y agregación
| Drill-down: desagregación y especialización
|
roll up
roll up
drilling down
OPERACIONES OLAP: SLICING Y DICING
|
También podemos hacer cortes en los cubos y
formar nuevos cubos a partir de ellos
slicing
dicing
Slicing con Year=2006
LENGUAJES DE CONSULTA
|
No hay standard:
MDX (Multidimensional Expression Language) de
Microsoft’s OLE DB for OLAP API and OLAP
Services.
y MaxL (Multidimensional Access Language) de
Hyperion’s Essbase
y MDSQL (Multidimensional Query Language)
y
LENGUAJES DE CONSULTA
|
Ejemplo de MDX:
SELECT { [Measures].[Sales Amount],
[Measures].[Tax Amount] } ON 0,
{ [Date].[Fiscal].[Fiscal Year].&[2002],
[Date].[Fiscal].[Fiscal Year].&[2003] } ON 1
FROM [Adventure Works]
WHERE ( [Sales Territory].[Southwest] )
EJEMPLO EN LÍNEA DE LA UDEC
|
Ver DWs de la Dirección de Estudios Estratégicos
de la UdeC para generación de indicadores y
apoyo en proceso de acreditación
IMPLEMENTACIÓN DE DATA
WAREHOUSES
ARQUITECTURA DEL SISTEMA DE APOYO PARA TOMA
DE DECISIONES
Fuentes de Información
Fuentes
Externas
Servidores OLAP
Análisis
Data Warehouse
Herramientas
para extracción,
limpieza, carga,
integración, etc.
Asiste
Herramientas OLAP
para
Consultas/Reportes
BD Operacionales
Data Marts
Subsets of the DWs that focus on
specific topics
SERVIDORES OLAP
|
OLAP relacional (ROLAP)
y
y
|
OLAP multidimensional (MOLAP):
y
y
|
Base de datos relacional especializada para almacenar y
manejar los datos almacenados
Extendidad de tal forma de mapear operaciones sobre datos
multidimensionales a operaciones relacionales estandar.
Servidor especialmente desarrollado para almacenar y
consultar datos multidimensionales
Utiliza estructuras de datos basadas en arreglos
OLAP hibrido (HOLAP)
y Los datos detallados se almacenan en una BD
relacional
y Almacena datos agregados en forma multidimensional
y Se accede a los datos a través de herramientas MOLAP
TABLAS VS CUBO (EJEMPLO SIMPLE)
Tabla relacional
Transformado en un Cubo
Datos organizados como filas
Datos organizados en intersecciones
Tabla de Ventas
Product
Region
Donut
Dimensión de Region
East
Sales
$
1
Donut
Donut
West
2
Milk
Milk
East
3
Total
Milk
West
4
East
Dim. Producto
1
3
4
West
Total
2
4
6
3
7
10
ROLAP
| Datos
en tablas relacionales
| Uso de esquemas relacionales especiales:
y
y
Esquema estrella (star)
Esquema copo de nieve (snowflakes)
| Cubos
y
virtuales
Las operaciones sobre cubos son transformadas a
operaciones relacionales (SQL!)
| Es
el enfoque más común en la práctica
ROLAP: ESQUEMA ESTRELLA
ROLAP: ESQUEMA ESTRELLA
|
Es un esquema relacional para representar DW
donde:
Existe una única tabla por cada dimensión
y Una tabla de hechos (para los datos numéricos)
y No es posible representar las jerarquías de las
dimensiones
y
ROLAP: ESQUEMA ESTRELLA
ROLAP: ESQUEMA ESTRELLA
ROLAP: ESQUEMA ESTRELLA
|
|
El esquema no esta normalizado!
Para volumenes de datos pequeños o medianos,
estos esquemas tienen un buen comportamiento
ya que solo es necesario hacer joins entre la tabla
de hecho y las dimensiones
ROLAP: ESQUEMA COPO DE NIEVE (SNOWFLAKE)
ROLAP: ESQUEMA COPO DE NIEVE (SNOWFLAKE)
También es un esquema relacional para
representar DW
| En este esquema las dimensiones se representan
por un conjunto de tablas normalizadas por nivel
de la jerarquía
|
y
Incluso ya pueden contener datos agregados
ROLAP: ESQUEMA COPO DE NIEVE
ROLAP: ESQUEMA COPO DE NIEVE (SNOWFLAKE)
|
La dimensión normalizada para Mes y Año con la
tabla de hechos Sales
ROLAP
| Implementa
el complejo modelo multi-dimensional
con un modelo relacional simple
| Permite que el DWs evolucione con relativamente
poca mantención
| Puede contenter tanto datos detallados como
resumidos
| ROLAP se basa en tecnologías conocidas y que ya
han sido demostradas de ser útiles en la industria
| PERO:
y
Es necesario usar SQL para hacer cálculos
multidimensionales…
PRODUCTOS ROLAP
|
Productos comerciales:
Microsoft Analysis Services,
y MicroStrategy
y Oracle BI (the former Siebel Analytics)
y
|
También hay un servidor ROLAP open source:
Mondrian.
MOLAP
Trabaja directamente con cubos
multidimensionales
| Desafío: nuevas operaciones, estructuras de
almacenamiento, métodos de acceso, índices
multidimensionales, etc.
| Implementación basada en estructuras de datos
basadas en arreglos
| Enfoque con más investigación
|
CUBO DE DATOS
roll-up to region
NY
SF
roll-up to brand
Product
LA
Juice
Milk
Coke
Cream
Soap
Bread
10
34
56
32
12
56
roll-up to week
M T W Th F S S
Time
56 units of bread sold in LA on M
Dimensions:
Time, Product, Geography
Attributes:
Product (upc, price, …)
Geography …
…
Hierarchies:
Product → Brand → …
Day → Week → Quarter
City → Region → Country
INSTANCIA MULTIDIMENSIONAL
|
Corte para un valor específico de la dimensión
Tiempo
DATOS DERIVADOS
Los datos derivados forman parte de los cubos de
datos y son obtenidos aplicando funciones de
agregación: SUM, MAX, MIN, AVG, COUNT
| Estos datos se materializan
| Permiten eficiencia en el procesamiento de
consultas
|
MOLAP
Almacenamiento de datos precalculados permite
mejorar la velocidad de respuesta
| El diseño solo requirere definir las dimensiones y
los hechos a almacenar. No es necesario diseñar
un esquema de BD (como star o snowflake)
| PERO:
|
MOLAP DWs aumentan el costo en tiempo de
procesado y en el tamaño de lo almacenado. Una
entrada de 200MB puede expandirse a 5GB en el
DWs
y MOLAP DWs son excelentes para los data marts
(<50GB)
y
PRODUCTOS MOLAP
Oracle OLAP, Microsoft Analysis
Services, Essbase, Infor OLAP y TM1|Applix
TM1, Pilot, Arbor Essbase, Gentia
| También existe un servidor MOLAP de código
abierto llamado PALO.
| También se utiliza en Microsoft SQL server en la
mayoría de sus versiones.
|
ROLAP VS MOLAP
|
Los sistemas con altos cambios a los datos, requieren una
arquitectura que pueda actualizarse eficientemente.
Los sistemas ROLAP soportan bien esta consolidación
dinámica
y Los MOLAP están más orientados hacia consolidaciones
batch.
y
|
|
|
Los ROLAP pueden crecer hasta un gran número de
dimensiones, mientras que los MOLAP generalmente son
adecuados para diez o menos dimensiones.
Los ROLAP soportan análisis OLAP contra grandes
volúmenes de datos elementales, mientras que los MOLAP
se comportan razonablemente en volúmenes más reducidos
Por ello, y resumiendo, el ROLAP es una arquitectura
flexible y general, que crece para dar soporte a amplios
requerimientos OLAP. El MOLAP es una solución
particular, adecuada para soluciones departamentales con
unos volúmenes de información y número de dimensiones
más modestos pero que dan respuestas mucho más rápidas
en estos casos
HYBRID OLAP (HOLAP)
| HOLAP
y
y
y
= Hybrid OLAP:
Toma lo mejor de los dos mundos
Alamacena datos detallados en una base de
datos relacional
Almacena datos agregados en un servidor
MOLAP
FLUJO DE DATOS EN HOLAP
RDBMS Server
MDBMS Server
Multidimensional
access
SQL-Read
Meta data
Client
Multidimensional Viewer
Multidimensional
data
Derived
data
SQL-Reach
Through
Relational
Viewer
SQL-Read
¿CÓMO ELEGIR CUAL USAR?
|
|
Todos los tipos de implementación tienen ventajas y desventajas
Algunas guías generales son:
y En general para DWs pequeños (o data marts) es mejor
MOLAP por sus rápidas respuestas.
|
Lo que significa “pequeño” va a variar a lo largo del tiempo!
Para DWs grandes con datos detallados o con largas consultas
es mejor utilizar ROLAP
y Si se quieren datos agregados y detallados es mejor HOLAP
y
|
Sin embargo es necesario analizar cada caso en particular y
considerar otras variables como:
y Tipos de acceso autorizados (lectura/escritura de datos)
y Tipo disponible para implementación
y Tipos de usuarios
Descargar