1 DATAWAREHOUSE. 2 Introducción Un datawarehouse es un conjunto de datos integrados, orientados a...

Preview:

Citation preview

1

DATAWAREHOUSEDATAWAREHOUSE

2

IntroducciónIntroducción

““Un datawarehouse es un conjunto de Un datawarehouse es un conjunto de datos integradosdatos integrados , , orientados a una materia orientados a una materia

que que varian con el tiempovarian con el tiempo y que y que no son transitoriosno son transitorios, los cuales soportan , los cuales soportan

el proceso de toma de decisionel proceso de toma de decision””

3

No son transitoriosNo son transitorios

No son volatiles No son volatiles No se llevan a cabo modificaciones o No se llevan a cabo modificaciones o

eliminaciones, solo insercioneseliminaciones, solo inserciones Guarda datos sumarizados Guarda datos sumarizados

4

Orientados a una materiaOrientados a una materia

Organiza y orienta los datos en función del Organiza y orienta los datos en función del usuario final y sus temas de interésusuario final y sus temas de interés

EjemploEjemplo

Ventas, Competencias, InternacionesVentas, Competencias, Internaciones

5

Datos integradosDatos integrados

Los datos provienen de diferentes fuentesLos datos provienen de diferentes fuentes

La integración de datos se logra mediante la La integración de datos se logra mediante la consistencia en la consistencia en la

Convenciones de nombresConvenciones de nombres, , Unidades de medidaUnidades de medida y y

CodificaciónCodificación

6

Unidades de medidaUnidades de medida

Las distintas fuentes de datos pueden tenerLas distintas fuentes de datos pueden tener

un mismo elemento medido en:un mismo elemento medido en:– Centímetros|Centímetros|– MetrosMetros– pulgadaspulgadas

7

CodificaciónCodificación

Las distintas fuentes de datos pueden Las distintas fuentes de datos pueden tener distintas codificaciones, tener distintas codificaciones,

ejemplo: generoejemplo: genero

M, FM, F

0, 10, 1

x, yx, y

8

Convenciones de nombresConvenciones de nombres

El mismo elemento puede estar referido con El mismo elemento puede estar referido con nombres diferentes en distintas aplicacionesnombres diferentes en distintas aplicaciones

9

Varían con el tiempoVarían con el tiempo

Mantiene tanto datos históricos como datos Mantiene tanto datos históricos como datos actualesactuales

La información histórica es de gran La información histórica es de gran importancia, permite analizar tendenciasimportancia, permite analizar tendencias

10

Toma de decisiónToma de decisión

Sistemas orientados para dar soporte a la Sistemas orientados para dar soporte a la toma de decisión dirigido a los trabajadores toma de decisión dirigido a los trabajadores

del conocimiento:del conocimiento:

EjecutivosEjecutivos

AdministradoresAdministradores

AnalistasAnalistas

11

Diferencias entre OLTP y OLAPDiferencias entre OLTP y OLAP

OLTP: On Line Transaction Processing OLTP: On Line Transaction Processing

OLAP: On-Line Analytical Processing OLAP: On-Line Analytical Processing

12

Diferencias entre OLTP y OLAPDiferencias entre OLTP y OLAP

OLTP Datos organizados por Datos organizados por

aplicaciónaplicación Focalizado en Focalizado en

aplicaciones aplicaciones específicasespecíficas

No integradasNo integradas Distintos tipos de Distintos tipos de

datosdatos

OLAPOLAP Datos organizados por Datos organizados por

tematema Focalizado en Focalizado en

requerimientos requerimientos empresarialesempresariales

IntegradasIntegradas Mismo tipo de datosMismo tipo de datos

13

Diferencias entre OLTP y OLAPDiferencias entre OLTP y OLAP

OLTP Diferente formatos de Diferente formatos de

archivosarchivos Diferentes plataformas Diferentes plataformas

hardwarehardware Realizan Realizan

periodicamente altas, periodicamente altas, bajas y modificacionesbajas y modificaciones

OLAPOLAP Formatos de archivos Formatos de archivos

standardstandard Un sólo servidor Un sólo servidor

(lógico) (lógico) Solamente altas de Solamente altas de

datosdatos

14

Diferencias entre OLTP y OLAPDiferencias entre OLTP y OLAP

OLTP Se realizan acciones Se realizan acciones

repetidasrepetidas Manipulación de datos Manipulación de datos

registro a registroregistro a registro Transacciones y/o Transacciones y/o

validación a nivel de validación a nivel de registroregistro

OLAPOLAP Continuamente cambia Continuamente cambia

el tipo de preguntael tipo de pregunta Carga y acceso de Carga y acceso de

datos en forma masivadatos en forma masiva Validación antes o Validación antes o

después de la carga después de la carga (nunca a nivel de (nunca a nivel de registro o transacción)registro o transacción)

15

Diferencias entre OLTP y OLAPDiferencias entre OLTP y OLAP

OLTP Manejan cientos de Manejan cientos de

transacciones diariastransacciones diarias

Falta de soporte Falta de soporte explícito para datos explícito para datos historicoshistoricos

Datos operacionales Datos operacionales volátilesvolátiles

OLAPOLAP Manejan pocas Manejan pocas

transacciones con transacciones con muchos registrosmuchos registros

Soporte para datos Soporte para datos históricoshistóricos

Datos altamente Datos altamente establesestables

16

Diferencias entre OLTP y OLAPDiferencias entre OLTP y OLAP

Normalmente se encuentra separado el Normalmente se encuentra separado el DataWarehouse del OLTP, debido a:DataWarehouse del OLTP, debido a:

– El DataWarehouse tiene alta demanda de El DataWarehouse tiene alta demanda de recursos, puede entorpecer el desempeño del recursos, puede entorpecer el desempeño del OLTPOLTP

– Los datos del DataWarehouse normalemente Los datos del DataWarehouse normalemente son integrados de múltiples sistemas OLTP son integrados de múltiples sistemas OLTP remotos remotos

17

Arquitectura General de un Arquitectura General de un DataWarehouseDataWarehouse

18

Arquitectura General de un Arquitectura General de un DataWarehouseDataWarehouse

Extracción de datos de múltiples fuentesExtracción de datos de múltiples fuentes Transformación de datosTransformación de datos Carga de datosCarga de datos Acceso de datosAcceso de datos

19

Transformación de datosTransformación de datos

Proceso de sumarización y cambios en los Proceso de sumarización y cambios en los datos operacionales para reunir los datos operacionales para reunir los

objetivos de orientación a temasobjetivos de orientación a temas

20

Extracción de datosExtracción de datos

Se extraen datos de las distintas fuentes Se extraen datos de las distintas fuentes operativas a un espacio temporal para operativas a un espacio temporal para

posterior limpieza y transformaciónposterior limpieza y transformación

21

Carga de datosCarga de datos

Inserción sistemática de datos en el Inserción sistemática de datos en el componente de almacenamiento fisico del componente de almacenamiento fisico del

DataWarehouseDataWarehouse

22

Acceso de datosAcceso de datos

Los usuarios acceden al DataWarehouse Los usuarios acceden al DataWarehouse mediante herramientas basados en GUI:mediante herramientas basados en GUI:

– Software de consultasSoftware de consultas– Generadores de reportesGeneradores de reportes– Data miningData mining

23

MetadatosMetadatos

Representan toda la información de Representan toda la información de administración y seguimientoadministración y seguimiento

necesarios para:necesarios para:– Acceso a datosAcceso a datos– Compresión y utilizaciónCompresión y utilización

» SemánticaSemántica

» OrigenOrigen

» FormatoFormato

» Reglas de agregaciónReglas de agregación

24

DatamartsDatamarts

Subconjuntos departamentales que Subconjuntos departamentales que focalizan objetos seleccionadosfocalizan objetos seleccionados

Se caracteriza por una definición de Se caracteriza por una definición de requerimientos más rápida y fácilrequerimientos más rápida y fácil

Pueden integrarse en un futuro en un Pueden integrarse en un futuro en un DataWarehouseDataWarehouse

25

Data miningData mining

““Extracción de información oculta y Extracción de información oculta y predecible de grandes bases de datos”predecible de grandes bases de datos”

Predicción automatizada de tendencias y Predicción automatizada de tendencias y comportamientoscomportamientos

Descubrimiento automatizado de modelos Descubrimiento automatizado de modelos previamamente desconocidospreviamamente desconocidos

26

Modelo Conceptual Modelo Conceptual de un de un

DataWarehouseDataWarehouse

27

Esquema de HechosEsquema de Hechos

28

Esquema de HechosEsquema de Hechos

El esquema de DataWarehouse consiste en un El esquema de DataWarehouse consiste en un conjunto de esquemas de hechos. conjunto de esquemas de hechos.

Componentes:Componentes:

– HechosHechos– DimensionesDimensiones– jerarquíasjerarquías

29

HechoHecho

Es un enfoque de interés para la empresaEs un enfoque de interés para la empresa

EjemploEjemplo

VENTASVENTAS

COMPETENCIASCOMPETENCIAS

INTERNACIONESINTERNACIONES

30

DimensionesDimensiones

Determina la granularidad para la Determina la granularidad para la determinación de los hechosdeterminación de los hechos

EjemploEjemplo

ProductoProducto

Fecha Fecha

almacenalmacen

31

JerarquíasJerarquías

La dimensiones se asocian con sus jerarquías La dimensiones se asocian con sus jerarquías y especifican distintos niveles de y especifican distintos niveles de

agrupamientoagrupamiento

EjemploEjemplo

Día Día Mes Mes trimestre trimestre año año

Producto Producto Tipo Tipo Categoría Categoría

32

HipercuboHipercubo

33

Vista Multidimensional - Ventas

Producto

Tiem

po

Ciu

dad

camisa

Mar 99

Feb 99

Ene 99

pantalonsaco

NYork

Paris

Roma

Los datos se encuentran en la interseccion de las dimensiones

34

Producto Fecha Ciudad UnidadesSaco Ene 99 Londres 20000Camisa Ene 99 Roma 10200Saco Ene 99 Paris 15000Pantalon Ene 99 Londres 5200Pantalon Feb 99 New York 3200Camisa Feb 99 Roma 7800Camisa Feb 99 Londres 9520Saco Feb 99 Roma 4520Pantalon Mar 99 New York 2580Saco Mar 99 New York 5890Pantalon Mar 99 Londres 6520

Vista de un archivo plano tradicional

Campo (columna)

Registro(fila)

El dato se encuentra en la interseccion de una fila y columna

35

Operaciones Operaciones

PivotingPivoting Slicing dicingSlicing dicing Roll upRoll up Drill downDrill down

36

PivotingPivoting

Rotar el cubo para ver una cara en particularRotar el cubo para ver una cara en particular

EjemploEjemplo

Analizar informacion referida a proveedoresAnalizar informacion referida a proveedores

37

Slicing dicingSlicing dicing

Seleccionar algún subconjunto de ese cuboSeleccionar algún subconjunto de ese cubo

EjemploEjemplo

Analizar el cubo de datos restringiendolo Analizar el cubo de datos restringiendolo para algunos proveedores, productos y para algunos proveedores, productos y

fechasfechas

38

Roll upRoll up

Agrupamiento por alguna dimensión Agrupamiento por alguna dimensión determinadadeterminada

EjemploEjemplo

Analizar las ventas de producto a las ventas Analizar las ventas de producto a las ventas por tipo de productopor tipo de producto

39

Drill downDrill down

Operación inversa: muestra información Operación inversa: muestra información detallada de cada agrupamientodetallada de cada agrupamiento

EjemploEjemplo

Analizar las ventas de tipo de producto a las Analizar las ventas de tipo de producto a las ventas por productoventas por producto

40

Implementaciones relacionalesImplementaciones relacionales

Esquema estrellaEsquema estrella Copo de nieve ó PochocloCopo de nieve ó Pochoclo ConstelaciónConstelación

41

Esquema estrellaEsquema estrella

Compuesto por una tabla central –Compuesto por una tabla central –tabla de hechos- y un conjunto de tabla de hechos- y un conjunto de tablas mostradas en una forma tablas mostradas en una forma

radial alrededor de ésta –tablas radial alrededor de ésta –tablas dimensión-dimensión-

42

Esquema estrellaEsquema estrella

43

Modelos - EstrellaModelos - Estrella

Ventajas

Facil de entenderRapida respuesta a consultasDatos simples

Desventajas

Mas susceptible a los cambiosLenta de construir por la denormalizacion

44

Copo de nieve ó PochocloCopo de nieve ó Pochoclo

Extensión del esquema estrella, donde cada Extensión del esquema estrella, donde cada una de las tablas del esquemauna de las tablas del esquema

se divide en más tablasse divide en más tablas

-tablas más normalizadas--tablas más normalizadas-

45

Modelos - PochocloModelos - Pochoclo

VentajasVentajas Mas flexible a requerimientosMas flexible a requerimientos Carga mas rapidaCarga mas rapida

DesventajasDesventajas Puede agrandarse y ser inmanejablePuede agrandarse y ser inmanejable Puede degradar la performancePuede degradar la performance

46

Copo de nieveCopo de nieve

47

Modelos - ConstelaciónModelos - Constelación

Tabla clientescod-clientenombre-cliente

Tabla hechosprecio-unidadventas-unidadventas-pesoscosto-pesos

Tabla productocod-proddesc-prod

Tabla tiempocod-semanacod-periodocod-año

Tabla depositocod-depocod-localidad

Tabla resumencod-clienteventas-totalvalor top-ventaspromedio-ventas

Resumen por producto,deposito, y tiempo para todos los clientes

48

Modelos - ConstelaciónModelos - Constelación

Tabla productocod-proddesc-prod

Tabla hechoscod-depocod-itemventas-pesosventas-unidades

Tabla Itemcod-itemdesc-item

Tabla tiempocod-semanacod-periodocod-año

Tabla depositocod-depocod-localidad

Tabla Regionescod-regiondesc-region

Tabla Hechos-inventariocod-prodcod-estantecosto-pesoscantidad

49

Diseño conceptual de un Diseño conceptual de un DataWarehouse a partir DataWarehouse a partir

del Modelo Entidad del Modelo Entidad InterrelaciónInterrelación

50

Diseño conceptual de un Diseño conceptual de un DataWarehouseDataWarehouse

Metodología semi automática para Metodología semi automática para

construir un modelo lógico construir un modelo lógico

de un DataWarehouse a partir de un de un DataWarehouse a partir de un

Modelo Entidad InterrelaciónModelo Entidad Interrelación

51

Ejemplo de MEREjemplo de MER

52

Transformación de una relación Transformación de una relación en entidaden entidad

53

Metodología Metodología

Definir los hechosDefinir los hechos Por cada hechoPor cada hecho

– Construir el árbol de atributosConstruir el árbol de atributos– Recortar e injertar el árbolRecortar e injertar el árbol– Definir dimensionesDefinir dimensiones– Definir atributos de hechoDefinir atributos de hecho– Definir jerarquiasDefinir jerarquias

54

Definir los hechosDefinir los hechos

Los hechos son conceptos de interés Los hechos son conceptos de interés primario para realizar procesos de toma de primario para realizar procesos de toma de

decisionesdecisiones

Un hecho puede ser representado en un MER Un hecho puede ser representado en un MER mediante un entidad o una relación que mediante un entidad o una relación que

representan archivos actualizablesrepresentan archivos actualizables

55

Construir el árbol de atributosConstruir el árbol de atributos

Dada una porción de interés del MER y una Dada una porción de interés del MER y una entidad F que pertenece a él, denominamos entidad F que pertenece a él, denominamos

árbol de atributos al árbol que:árbol de atributos al árbol que:

Cada vértice corresponde a un atributo del Cada vértice corresponde a un atributo del esquemaesquema

La raíz corresponde al identificador de FLa raíz corresponde al identificador de F

56

AlgoritmoAlgoritmotranslate(F, identifier(F)) translate(F, identifier(F))

donde donde

  translate(E, v):translate(E, v): // E es la entidad actual, v es el vértice actual// E es la entidad actual, v es el vértice actual{ { for eachfor each attribute a attribute a E E a a identifier(F) identifier(F) dodo addChild (v, a); addChild (v, a); // agrego un hijo // agrego un hijo aa al vértice al vértice vv for each for each entity G connected to E entity G connected to E by a x-to-one relationship R by a x-to-one relationship R dodo

{ { for eachfor each attribute b attribute b R R dodo

addChild (v, b);addChild (v, b);addChild (v, identifier(G));addChild (v, identifier(G));translate(G, identifier(G));translate(G, identifier(G));

}}}}

57

Árbol de atributosÁrbol de atributos

58

Recortar e injertar el árbolRecortar e injertar el árbol

No todos los atributos representados en el No todos los atributos representados en el árbol pueden ser de interés. árbol pueden ser de interés.

El árbol puede ser podado e injertado para El árbol puede ser podado e injertado para eliminar detalles innecesarioseliminar detalles innecesarios

59

Recortar e injertar el árbolRecortar e injertar el árbol

graft(v):graft(v):

{ { for eachfor each v” v” v” is child of v v” is child of v dodo

addChild(v’,v”); addChild(v’,v”);

drop v;drop v;

}}

60

Árbol podado e injertadoÁrbol podado e injertado

61

Definir dimensionesDefinir dimensiones

Las dimensiones determinan cómo las Las dimensiones determinan cómo las instancias de hechos pueden ser agregadas instancias de hechos pueden ser agregadas para el proceso de la toma de decisionespara el proceso de la toma de decisiones

Deben ser elegidas entre los vértices del árbolDeben ser elegidas entre los vértices del árbol

EjemploEjemplo

FechaFechaProducto Producto AlmacenAlmacen

62

Definir atributos de hechoDefinir atributos de hecho

Son cantidades del número de instancias de Son cantidades del número de instancias de hecho o suma/promedio/máximo/mínimo hecho o suma/promedio/máximo/mínimo de expresiones que involucran atributos de expresiones que involucran atributos

numéricos del árbol de atributosnuméricos del árbol de atributos

63

Definir jerarquíasDefinir jerarquías

La jerarquías especifican distintos niveles de La jerarquías especifican distintos niveles de agrupamientoagrupamiento

El árbol ya muestra una organización El árbol ya muestra una organización jerárquicajerárquica