(basado en slides de loreto bravo y mónica ... - piazza

71
DATA WAREHOUSES (basado en slides de Loreto Bravo y Mónica Caniupán) Bases de Datos II 2014

Upload: others

Post on 23-Apr-2022

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: (basado en slides de Loreto Bravo y Mónica ... - Piazza

DATA WAREHOUSES

(basado en slides de Loreto Bravo y Mónica Caniupán)

Bases de Datos II

2014

Page 2: (basado en slides de Loreto Bravo y Mónica ... - Piazza

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 OLAP (On-Line Analytical Processing) ‏!  BDO OLTP (On-Line Transaction Processing) ‏

Page 3: (basado en slides de Loreto Bravo y Mónica ... - Piazza

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.

Page 4: (basado en slides de Loreto Bravo y Mónica ... - Piazza

ARCHITECTURE

OLTP Applications GUI, Spreadsheets

DB1

DB2

DB3

Data Warehouse

OLTP OLAP

Page 5: (basado en slides de Loreto Bravo y Mónica ... - Piazza

DATA WAREHOUSE

! Un data warehouse es un repositorio de datos: !  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 )

Page 6: (basado en slides de Loreto Bravo y Mónica ... - Piazza

DATA WAREHOUSE

! BDO: orientadas a las aplicaciones

! Eg. Para una empresa aseguradora: !  Aplicaciones para

vehículos, salud, vida, etc.

! DW: orientado a materias del negocio

! Para la misma aseguradora los temas son: !  Clientes, políticas,

polizas, etc.

Page 7: (basado en slides de Loreto Bravo y Mónica ... - Piazza

BD OPERACIONALES VS DATA WAREHOUSES

! BD Operacionales !  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 !  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.)

Page 8: (basado en slides de Loreto Bravo y Mónica ... - Piazza

ARQUITECTURA

Asiste

Fuentes Externas Data Warehouse

Servidores OLAP

Herramientas para extracción, limpieza, carga, integración, etc.

Data Marts

BD Operacionales

Fuentes de Información

Herramientas OLAP para Consultas/

Reportes

Análisis

Subsets of the DWs that focus on specific topics

Page 9: (basado en slides de Loreto Bravo y Mónica ... - Piazza

CARGA DEL DW ! ETL: Extract, transform and Load ! Existen herramientas para limpiar datos i.e.,

detectar anomalias en las fuentes de datos y corregirlas !  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

Page 10: (basado en slides de Loreto Bravo y Mónica ... - Piazza

PRODUCTOS

Page 11: (basado en slides de Loreto Bravo y Mónica ... - Piazza

PRODUCTOS

!  Dic 2012: Amazon anuncia servicio de DWs en la nube

Page 12: (basado en slides de Loreto Bravo y Mónica ... - Piazza

DATOS MANEJADOS POR DWS TERADATA

!  2008: Teradata creó el Club de “Petabyte Power Players”: !  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 !  Bank of America: 1.5 petabytes. !  Una compañia de servicios financieros: 1.4 petabytes. !  Dell: 1 petabyte

!  2012: el club ya tiene más de 25 miembros incluyendo (además de los anteriores) a: !  AT&T, Verizon y Apple.

Page 13: (basado en slides de Loreto Bravo y Mónica ... - Piazza

DATOS MANEJADOS POR DWS !  TEOCO, una empresa que da servicios de analysis de datos

para empresas de telecomunicaciones informó el 2008: !  Maneja, para una empresa de telecomunicaciones, un

DWs de >200 TB en un DWs DATAllegro !  En total maneja alrededor de 450 TB de DATAllegro

databases !  Vertica DWs (2009)

!  Cliente de telecomunicaciones con 3 DWs de telco 200 TB, 40 TB y 12 TB.

!  Cliente de inversiones con >200 petabytes

Page 14: (basado en slides de Loreto Bravo y Mónica ... - Piazza

CUANTO ES UN PETABYTE?

Page 15: (basado en slides de Loreto Bravo y Mónica ... - Piazza

MODELO DE DATOS MULTIDIMENSIONAL

Page 16: (basado en slides de Loreto Bravo y Mónica ... - Piazza

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. !  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

! Los DW se modelan usando un modelo de datos multidimensional

Page 17: (basado en slides de Loreto Bravo y Mónica ... - Piazza

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 Localización Tiempo Industria País Año Categoría Región Semestre Producto Ciudad Mes Semana Día

Page 18: (basado en slides de Loreto Bravo y Mónica ... - Piazza

MODELO DE DATOS MULTIDIMENSIONAL

! Los hechos puden verse como puntos en un espacio multidimensional determinado por las dimensiones

Page 19: (basado en slides de Loreto Bravo y Mónica ... - Piazza

MODELO DE DATOS MULTIDIMENSIONAL

! Ejemplo Article DW:

! 

!  (a) Dimensión Article (b) Instancia (c) Tabla de hechos

Page 20: (basado en slides de Loreto Bravo y Mónica ... - Piazza

EXAMPLE OF COMPLEX DATE DIMENSION

Date

Day of Week

Type of Day

Fiscal Week

Calendar Month

Calendar Week Holiday

Fiscal Month

Fiscal Quarter

Fiscal Year

Calendar month

Calendar Year

All

Page 21: (basado en slides de Loreto Bravo y Mónica ... - Piazza

Attribute Name Attribute Description Sample ValuesDay The specific day that an activity took

place.06/04/1998; 06/05/1998

Day of Week The specific name of the day. Monday; TuesdayHoliday Identifies that this day is a holiday. Easter; ThanksgivingType of Day Indicates whether or not this day is

a weekday or a weekend day.Weekend; Weekday

WE 06/06/1998;WE 06/13/1998

Calendar Month The calendar month. January,1998; February, 1998

Calendar Quarter The calendar quarter. 1998Q1; 1998Q4Calendar Year The calendar year. 1998

F Week 1 1998;F Week 46 1998 F January, 1998;F February, 1998

Fiscal Quarter The grouping of 3 fiscal months. F 1998Q1; F1998Q2Fiscal Year The grouping of 52 fiscal weeks / 12

fiscal months that comprise the financial year.

F 1998; F 1999

Fiscal Month The fiscal period comprised of 4 or 5 weeks. Note that the F in the data

Calendar Week The week ending date, always a Saturday. Note that WE denotes

Fiscal Week The week that represents the corporate calendar. Note that the F

Page 22: (basado en slides de Loreto Bravo y Mónica ... - Piazza

ESQUEMA DE DIMENSIÓN

! Un esquema de dimensión S=(C,!) : !  C : un conjunto de categorías !  !: relación hijo/padre entre las categorías

!  !* es la clausura transitiva y reflexiva de !

Categoría superior (siempre presente) Categoría inferior o base

Page 23: (basado en slides de Loreto Bravo y Mónica ... - Piazza

C = {All, Area, Subject, ISSN, Journal, Article}

!  = {(Article, Journal), (Journal, Subject), (Journal, ISSN), (Subject, Area), (ISSN, Area), (Area, All)}

!* = ! ∪ {(Article, Article), (Article, Area), ...}

ESQUEMA DE DIMENSIÓN

Page 24: (basado en slides de Loreto Bravo y Mónica ... - Piazza

INSTANCIA DE DIMENSIÓN

! Un instancia de dimensión D=(M,<) : !  M : contiene los elementos de las categorías !  <: relación hijo/padre entre elementos categorías

!  <* es la clausura transitiva y reflexiva de <

M={All(all), Area(CS), Area(Bio), ISSN(0362), …}

< = {(CS,all), (DB,CS), (TODS,0362), …}

<* = < ∪ {(A1,A1), (A1,CS),

(TODS, CS), ...}

Page 25: (basado en slides de Loreto Bravo y Mónica ... - Piazza

TIPOS DE DIMENSIONES !  Una instancia de dimensión es homogenea si todo elemento tiene

un ancestro en su categoria padre (definido por el esquema)

!  De otra forma, la instancia de dimensión es heterogenea

" " #

Page 26: (basado en slides de Loreto Bravo y Mónica ... - Piazza

PROCESAMIENTO DE CONSULTAS !  Q: encontrar el número total de downloads por área

!  Respuesta: <CS,8> <Bio,7>

Roll-up entre categoría Article y Area

Page 27: (basado en slides de Loreto Bravo y Mónica ... - Piazza

USANDO RESPUESTAS PRE-COMPUTADAS

!  ¿Qué pasaría si tuvieramos computadas respuestas para Subject o ISSN?

! Podríamos mejorar la eficiencia!!!

D

Page 28: (basado en slides de Loreto Bravo y Mónica ... - Piazza

USANDO RESPUESTAS PRE-COMPUTADAS

! Si usamos DownloadsSubject:

!  Respuesta: <CS,8> <Bio,7> !  Si usamos resultados para ISSN obtenemos las mismas respuestas

D

Page 29: (basado en slides de Loreto Bravo y Mónica ... - Piazza

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 !  Es homogénea !  Es estricta

Page 30: (basado en slides de Loreto Bravo y Mónica ... - Piazza

DIMENSIONES ESTRICTAS

! Cada elemento debe tener un único ancestro en cada categoría

D D’

Page 31: (basado en slides de Loreto Bravo y Mónica ... - Piazza

CONSEQUENCIAS DE DIMENSION NO ESTRICTAS

! Q: encontrar el número total de downloads por área

D’

Page 32: (basado en slides de Loreto Bravo y Mónica ... - Piazza

CONSEQUENCIAS DE DIMENSION NO ESTRICTAS

! Si usamos DownloadsSubject:

! Respuestas: !  <CS,8> <Bio,7> !  <CS,15>

! Ambas respuestas son incorrectas

D’

Page 33: (basado en slides de Loreto Bravo y Mónica ... - Piazza

DIMENSIONES ESTRICTAS

! Esta propiedad asegura que las relaciones roll-up sean funcionales

! También es crucial para la eficiencia de los DW !  Permite usar respuestas pre-computadas

! Esta propiedad debiera ser verificada: !  Cuando se cargan datos !  Cada vez que la instancia de dimensión se actualiza

Page 34: (basado en slides de Loreto Bravo y Mónica ... - Piazza

OPERACIONES/CONSULTAS EN DATA WAREHOUSES

Page 35: (basado en slides de Loreto Bravo y Mónica ... - Piazza

OPERACIONES OLAP

! Roll-up: generalización y agregación ! Drill-down: desagregación y especialización

Page 36: (basado en slides de Loreto Bravo y Mónica ... - Piazza

OPERACIONES OLAP

! Roll-up: generalización y agregación ! Drill-down: desagregación y especialización

Page 37: (basado en slides de Loreto Bravo y Mónica ... - Piazza

roll up

Page 38: (basado en slides de Loreto Bravo y Mónica ... - Piazza

roll up

Page 39: (basado en slides de Loreto Bravo y Mónica ... - Piazza

drilling down

Page 40: (basado en slides de Loreto Bravo y Mónica ... - Piazza

OPERACIONES OLAP: SLICING Y DICING

! También podemos hacer cortes en los cubos y formar nuevos cubos a partir de ellos

slicing

dicing

Page 41: (basado en slides de Loreto Bravo y Mónica ... - Piazza

Slicing con Year=2006

Page 42: (basado en slides de Loreto Bravo y Mónica ... - Piazza

LENGUAJES DE CONSULTA

! No hay standard: !  MDX (Multidimensional Expression Language) de

Microsoft’s OLE DB for OLAP API and OLAP Services.

!  MaxL (Multidimensional Access Language) de Hyperion’s Essbase

!  MDSQL (Multidimensional Query Language)

Page 43: (basado en slides de Loreto Bravo y Mónica ... - Piazza

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] )

Page 44: (basado en slides de Loreto Bravo y Mónica ... - Piazza
Page 45: (basado en slides de Loreto Bravo y Mónica ... - Piazza

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

Page 46: (basado en slides de Loreto Bravo y Mónica ... - Piazza

IMPLEMENTACIÓN DE DATA WAREHOUSES

Page 47: (basado en slides de Loreto Bravo y Mónica ... - Piazza

ARQUITECTURA DEL SISTEMA DE APOYO PARA TOMA DE DECISIONES

Asiste

Fuentes Externas Data Warehouse

Servidores OLAP

Herramientas para extracción, limpieza, carga, integración, etc.

Data Marts

BD Operacionales

Fuentes de Información

Herramientas OLAP para Consultas/

Reportes

Análisis

Subsets of the DWs that focus on specific topics

Page 48: (basado en slides de Loreto Bravo y Mónica ... - Piazza

!  OLAP relacional (ROLAP) !  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.

!  OLAP multidimensional (MOLAP): !  Servidor especialmente desarrollado para almacenar y

consultar datos multidimensionales !  Utiliza estructuras de datos basadas en arreglos

!  OLAP hibrido (HOLAP) !  Los datos detallados se almacenan en una BD

relacional !  Almacena datos agregados en forma multidimensional !  Se accede a los datos a través de herramientas MOLAP

SERVIDORES OLAP

Page 49: (basado en slides de Loreto Bravo y Mónica ... - Piazza

TABLAS VS CUBO (EJEMPLO SIMPLE)

Product Region Sales $

Donut East 1

Donut West 2

Milk East 3

Milk West 4

Tabla relacional Transformado en un Cubo Datos organizados como filas Datos organizados en intersecciones

East West Total

Donut 1 2 3 Milk 3 4 7 Total 4 6 10

Dim. Producto

Dimensión de Region Tabla de Ventas

Page 50: (basado en slides de Loreto Bravo y Mónica ... - Piazza

! Datos en tablas relacionales ! Uso de esquemas relacionales especiales:

!  Esquema estrella (star) !  Esquema copo de nieve (snowflakes)

! Cubos virtuales !  Las operaciones sobre cubos son transformadas a

operaciones relacionales (SQL!)

! Es el enfoque más común en la práctica

ROLAP

Page 51: (basado en slides de Loreto Bravo y Mónica ... - Piazza

ROLAP: ESQUEMA ESTRELLA

Page 52: (basado en slides de Loreto Bravo y Mónica ... - Piazza

ROLAP: ESQUEMA ESTRELLA

! Es un esquema relacional para representar DW donde: !  Existe una única tabla por cada dimensión !  Una tabla de hechos (para los datos numéricos) !  No es posible representar las jerarquías de las

dimensiones

Page 53: (basado en slides de Loreto Bravo y Mónica ... - Piazza

ROLAP: ESQUEMA ESTRELLA

Page 54: (basado en slides de Loreto Bravo y Mónica ... - Piazza

ROLAP: ESQUEMA ESTRELLA

Page 55: (basado en slides de Loreto Bravo y Mónica ... - Piazza

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

Page 56: (basado en slides de Loreto Bravo y Mónica ... - Piazza

ROLAP: ESQUEMA COPO DE NIEVE (SNOWFLAKE)

Page 57: (basado en slides de Loreto Bravo y Mónica ... - Piazza

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 !  Incluso ya pueden contener datos agregados

Page 58: (basado en slides de Loreto Bravo y Mónica ... - Piazza

ROLAP: ESQUEMA COPO DE NIEVE

Page 59: (basado en slides de Loreto Bravo y Mónica ... - Piazza

ROLAP: ESQUEMA COPO DE NIEVE (SNOWFLAKE)

! La dimensión normalizada para Mes y Año con la tabla de hechos Sales

Page 60: (basado en slides de Loreto Bravo y Mónica ... - Piazza

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:

!  Es necesario usar SQL para hacer cálculos multidimensionales…

Page 61: (basado en slides de Loreto Bravo y Mónica ... - Piazza

PRODUCTOS ROLAP

! Productos comerciales: !  Microsoft Analysis Services,  !  MicroStrategy  !  Oracle BI (the former Siebel Analytics)

! También hay un servidor ROLAP open source: Mondrian.

Page 62: (basado en slides de Loreto Bravo y Mónica ... - Piazza

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

Page 63: (basado en slides de Loreto Bravo y Mónica ... - Piazza

CUBO DE DATOS Pr

oduc

t

Time M T W Th F S S

Juice Milk Coke Cream Soap Bread

NY SF

LA 10 34 56 32 12 56

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

roll-up to week

roll-up to brand

roll-up to region

Page 64: (basado en slides de Loreto Bravo y Mónica ... - Piazza

INSTANCIA MULTIDIMENSIONAL

! Corte para un valor específico de la dimensión Tiempo

Page 65: (basado en slides de Loreto Bravo y Mónica ... - Piazza

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

Page 66: (basado en slides de Loreto Bravo y Mónica ... - Piazza

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

!  MOLAP DWs son excelentes para los data marts (<50GB)

Page 67: (basado en slides de Loreto Bravo y Mónica ... - Piazza

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.

Page 68: (basado en slides de Loreto Bravo y Mónica ... - Piazza

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 !  Los MOLAP están más orientados hacia consolidaciones batch.

!  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

Page 69: (basado en slides de Loreto Bravo y Mónica ... - Piazza

HYBRID OLAP (HOLAP)

! HOLAP = 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

Page 70: (basado en slides de Loreto Bravo y Mónica ... - Piazza

Multi-dimensional

access Multidimensional Viewer

Relational Viewer

Client MDBMS Server

Multi- dimensional

data

SQL-Read

RDBMS Server

Meta data

Derived data

SQL-Reach Through

SQL-Read

FLUJO DE DATOS EN HOLAP

Page 71: (basado en slides de Loreto Bravo y Mónica ... - Piazza

¿CÓMO ELEGIR CUAL USAR? !  Todos los tipos de implementación tienen ventajas y desventajas !  Algunas guías generales son:

!  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

!  Si se quieren datos agregados y detallados es mejor HOLAP

!  Sin embargo es necesario analizar cada caso en particular y considerar otras variables como: !  Tipos de acceso autorizados (lectura/escritura de datos) !  Tipo disponible para implementación !  Tipos de usuarios