1 DATAWAREHOUSE. 2 Introducción Un datawarehouse es un conjunto de datos integrados, orientados a...
-
Upload
moises-de-paula -
Category
Documents
-
view
19 -
download
3
Transcript of 1 DATAWAREHOUSE. 2 Introducción Un datawarehouse es un conjunto de datos integrados, orientados a...
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