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

Post on 23-Apr-2022

7 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

DATA WAREHOUSES

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

Bases de Datos II

2014

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

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 Applications GUI, Spreadsheets

DB1

DB2

DB3

Data Warehouse

OLTP OLAP

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 )

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.

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

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

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

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

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

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

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

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 (c) Tabla de hechos

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

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

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

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

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), ...}

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

" " #

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

USANDO RESPUESTAS PRE-COMPUTADAS

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

! Podríamos mejorar la eficiencia!!!

D

USANDO RESPUESTAS PRE-COMPUTADAS

! Si usamos DownloadsSubject:

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

D

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

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> !  <CS,15>

! 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 !  Permite usar respuestas pre-computadas

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

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.

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

!  MDSQL (Multidimensional Query Language)

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

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

!  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

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

! 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

ROLAP: ESQUEMA ESTRELLA

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

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

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

PRODUCTOS ROLAP

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

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

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

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

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

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

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

¿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

top related