Bodegas de Dato Proceso ETL

40
Sistemas de bodegas de datos por Claudia Jiménez R Universidad Nacional de Colombia Diapositivas basadas en presentaciones de Matilde Celma y José Hernández Orallo

Transcript of Bodegas de Dato Proceso ETL

Page 1: Bodegas de Dato Proceso ETL

Sistemas de bodegas de datospor

Claudia Jiménez RUniversidad Nacional de Colombia

Diapositivas basadas en presentaciones de Matilde Celma y José Hernández Orallo

Page 2: Bodegas de Dato Proceso ETL

2

Bodega de Datos

Base de Datos diseñada con un objetivo de uso distinto que el de las bases de datos transaccionales.

Sistema Operacional

(OLTP)

Sistema de Bodegas de Datos

(DW)

BD orientada a los procesos operativos de una organización

BD orientada al análisis

Page 3: Bodegas de Dato Proceso ETL

3

Características de una Bodega de Datos

1. Contiene información relevante de la organización

Se diseña para consultar y analizar datos sobre las actividades básicas (ventas, compras, producción, ...), no para apoyar los procesos que se realizan en ella (pedidos, facturación…).

PRODUCTO...

GAMA...

VENTA...

PAÍS...

Base de Datos Transaccional

CURSOs...

empleados...

importaciones...

Page 4: Bodegas de Dato Proceso ETL

4

Base de Datos Transaccional 1

Fuente de Datos 1

Fuentes Externas

Fuentes Internas

Fuente de Datos 2

Fuente de Datos 3

HTML

Bodega de Datos

texto

Base de Datos Transaccional 2

2. Datos IntegradosReune los datos recogidos de diferentes sistemas informáticos (y/o fuentes externas).

Características de una Bodega de Datos

Page 5: Bodegas de Dato Proceso ETL

5

Característica de un Almacén de Datos

MatriculadosTiempo

01/2009

02/2009

01/2010

Datos del primer semestre

Datos de segundo semestre

Datos del primer semestre

3. Variable en el tiempo

Los datos son relativos a un período de tiempo y deben ser actualizados periódicamente.

Page 6: Bodegas de Dato Proceso ETL

6

Carga y actualización de una Bodega de Datos

El sistema encargado del mantenimiento del almacén de datos es el Sistema E.T.L (Extracción - Transformación - Carga). El Sistema E.T.L es construido específicamente para cada bodega de datos.

Funciones del Sistema E.T.L:

– Carga inicial. (initial load)

– Mantenimiento o refresco periódico: inmediato, diario, semanal, mensual,... (refreshment)

Page 7: Bodegas de Dato Proceso ETL

7

Bases de datos operativas

Almacenamiento intermedio

Bodega de datos

Transformación

Extracción Transporte

Para:– Realizar transformaciones sin paralizar las bases de datos operativas o

la bodega de datos.– Guardar metadatos acerca de las fuentes. – Facilitar la integración de fuentes externas.

Fuentes Externas

Almacenamiento intermedio o temporal

Page 8: Bodegas de Dato Proceso ETL

8

Actividades en el Proceso E.T.L

Transformación

Extracción Transporte

• Identificación de los datos que han cambiado

• Lectura de datos.

• Obtención de resúmenes.

• Mantenimiento de metadatos- • Limpieza y transformación de datos

• Cálculo de datos derivados

• Reducción de la dimensionalidad

• Mantenimiento de metadatos

• Carga

• Creación de índices

• Obtención de datos agregados.

• Realización de pruebas de calidad de la carga.

• Manejo de errores y faltantes.

• Mantenimiento de metadatos

Page 9: Bodegas de Dato Proceso ETL

9

Calidad de los datos

Definir estrategias de calidad:

• Actuación sobre los sistemas transaccionales: modificar reglas de integridad, los disparadores y las aplicaciones.

• Documentación de las fuentes de datos.• Definición del proceso de validación de datos.• Nombramiento de un responsable de la calidad del sistema (Data

Quality Manager).

La “calidad de los datos” es la clave del éxito de una bodega de datos.

Page 10: Bodegas de Dato Proceso ETL

10

Extracción de los datos

a) Si los datos de interés están en bases de datos, el proceso de extracción no es difícil. Basta una orden SQL para extractarlos.

b) Si los datos están en otros sistemas o en fuentes externas textuales, hipertextuales u hojas de cálculo, la extracción puede ser muy difícil.

Page 11: Bodegas de Dato Proceso ETL

11

Transformación de datos

- Transformar los datos extraídos de las fuentes: limpieza y estandarización. (data cleansing)

- Calcular datos derivados: definir y aplicar las leyes de derivación.

Bases de datos transaccionales

Almacenamiento intermedio

Bodega de datos

Transformación

Page 12: Bodegas de Dato Proceso ETL

12

Transformación de datos

– En los datos operacionales existen anomalías por desarrollos independientes a lo largo del tiempo, fuentes heterogéneas, ..

– Eliminar anomalías: • Limpieza de datos: eliminar datos, corregir o completar datos,

eliminar duplicados, ...

• Estandarización: codificación, formatos, unidades de medida, ...

12M65431

12-m-65421

“12m65421”

“12m65421”

“ ”

12M65431

12M65431

12-m-65421

“12m65421”

“12m65421”

“ ”

12M65431

12

12

12

M

m

m

65431

65421

65421

12

12

M

M

65431

65421

Page 13: Bodegas de Dato Proceso ETL

13

Transformación de datos: codificación

– Unificar codificación

– Deben detectarse los valores errados.– Se debe decidir qué hacer con los valores faltantes

f , m

1 , 0

hombre, mujer

f, m

Page 14: Bodegas de Dato Proceso ETL

14

Transformación de datos: estándares

– Unificar estándares: unidades de medida, unidades de tiempo,moneda,...

cm

pulgadas

cm

DD/MM/YY

MM/DD/YY

DD-MMM-YY

1,000 euros

CD 9,990

USDólar

Page 15: Bodegas de Dato Proceso ETL

15

Transformación: Valores duplicados

– Deben ser detectados.

U. Nal

UN

Universidad Nacional de Colombia UN

Page 16: Bodegas de Dato Proceso ETL

16

Transformación: Reglas de integridad

• Integridad de entidad• Integridad de dominio • Integridad referencial• Reglas del negocio

Page 17: Bodegas de Dato Proceso ETL

17

Transporte (carga)

– La fase de Transporte consiste en mover los datos desde las fuentes o el almacenamiento intermedio hasta la bodega de datos y cargar los datos en las correspondientes estructuras de datos.

– La carga puede consumir mucho tiempo.– En la carga inicial se mueven grandes volúmenes de datos.– En los mantenimientos periódicos se mueven pequeños

volúmenes de datos.– La frecuencia del mantenimiento periódico está determinada

por el tamaño de la bodega y los requisitos de los usuarios.

Page 18: Bodegas de Dato Proceso ETL

18

Obtención de resúmenes.

– Durante la extracción. – Después de la carga (transporte).

Base de datos operacional

Almacenamiento intermedio

Almacén de datos

TransporteExtracción

Page 19: Bodegas de Dato Proceso ETL

19

Diseño de una Bodega de Datos

Diseño físico

Diseño lógico específico

Implementación

Diseño conceptual

Recolección y análisis derequisitos

Page 20: Bodegas de Dato Proceso ETL

20

Diseño de una Bodega de Datos

Diseño físico

Diseño lógico

Implementación

Diseño conceptual

Recolección y análisis derequisitos

Análisis

Datos disponibles

Requisitos de usuario

Diseño Conceptual

Page 21: Bodegas de Dato Proceso ETL

21

Diseño de una Bodega de Datos

Diseño físico

Diseño lógico

Implementación

Diseño conceptual

Recogida y análisis derequisitos Diseño

Lógico

Modelado multidimensional (MR)

Estrella

Constelación

Híbrido

Page 22: Bodegas de Dato Proceso ETL

22

Diseño de un Almacén de Datos

Diseño físico

Diseño lógico

Implementación

Diseño conceptual

Recogida y análisis derequisitos

Definición del esquema ROLAP o MOLAP

Diseño Físico

Diseño del ETL

Page 23: Bodegas de Dato Proceso ETL

23

Diseño de un Almacén de Datos

Diseño físico

Diseño lógico

Implementación

Diseño conceptual

Recogida y análisis derequisitos

Implementación

Carga (ETL)

Preparación de las vistas de usuario

(herramienta OLAP)

Page 24: Bodegas de Dato Proceso ETL

24

Diseño Lógico de una Bodega de Datos

La visión multidimensional seguida por las herramientas de almacenes de

datos (OLAP) ha inspirado los modelos y metodologías de diseño de este tipo

de sistemas.

En la literatura se habla de “Bases de Datos Multidimensionales” y de “Diseño

Multidimensional”

Diseño físico

Diseño lógico

Implementación

Diseño conceptual

Recolección y análisis derequisitos

Page 25: Bodegas de Dato Proceso ETL

25

Pasos en el diseño de la bodega de datos:

• Paso 1. Elegir un “proceso” de la organización para modelar.

• Paso 2. Decidir el gránulo (nivel de detalle) de representación del proceso.

• Paso 3. Identificar las dimensiones que caracterizan el proceso.

• Paso 4. Decidir la información que se debe almacenar sobre el proceso.

Producción académica DeserciónProgramación cursos

Page 26: Bodegas de Dato Proceso ETL

26

Paso 2. Decidir el gránulo (nivel de detalle) de representación.

Gránulo: es el nivel de detalle al que se desea almacenar información sobre la actividad a modelar.

El gránulo define el nivel atómico de datos en el almacén de datos.

El gránulo determina el significado de las tuplas de la tabla de hechos.

El gránulo determina las dimensiones básicas del esquema

• transacción en el OLTP

• información diaria

• información semanal

• información mensual. ....

Page 27: Bodegas de Dato Proceso ETL

27

Diseño de un Almacén de Datos

id_dim1

id_dim2

id_dim3

...

id_dim n

....

(hechos)

Dim3

Dim2

Dim1

tabla de hechos

tabla Dimensión 3

tabla Dimensión 1

tabla Dimensión 2 tabla

Dimensión nDimn

Page 28: Bodegas de Dato Proceso ETL

28

Diseño de un Almacén de Datos

Ejemplo: Cadena de supermercados.

Gránulo: “se desea almacenar información sobre las ventas diarias de cada producto en cada almacén de la cadena”.

Gránulo:

define el significado de las tuplas de la tabla de hechos.

determina las dimensiones básicas del esquema.

producto

día

almacén

ventas

tiempo

almacén

categoría

Page 29: Bodegas de Dato Proceso ETL

29

Diseño de un Almacén de Datos

• Gránulo inferior: no se almacena información a nivel de línea de ticket porque no se puede identificar siempre al cliente de la venta lo que permitiría hacer análisis del comportamiento (hábitos de compra) del cliente.

• Gránulo superior: no se almacena información a nivel semanal o mensual porque se perderían opciones de análisis interesantes: ventas en días previos a vacaciones, ventas en fin de semana, ventas en fin de mes, ....

En un almacén de datos se almacena información a un nivel de detalle (gránulo) fino no porque se

vaya a interrogar el almacén a ese nivel sino porque ello permite clasificar y estudiar (analizar)

la información desde muchos puntos de vista.

Page 30: Bodegas de Dato Proceso ETL

30

Diseño de un Almacén de Datos

producto

día

almacén

ventas

tiempo

almacén

producto

id_producto

id_fecha

id_almacén

.....

.....

......

tabla de hechos

la clave primaria* está formada por los identificadores de las dimensiones básicas.

datos (medidas) sobre las ventas diarias de un producto en un almacén.

* pueden existir excepciones a esta regla general

Page 31: Bodegas de Dato Proceso ETL

31

Diseño de un Almacén de Datos

Paso 3. Identificar las dimensiones que caracterizan el proceso.

Dimensiones: dimensiones que caracterizan la actividad al nivel de detalle (gránulo) que se ha elegido.

Tiempo (dimensión temporal: ¿cuándo se produce la actividad?)

Producto (dimensión ¿cuál es el objeto de la actividad?)

Almacén (dimensión geográfica: ¿dónde se produce la actividad?)

Cliente (dimensión ¿quién es el destinatario de la actividad?)

De cada dimensión se debe decidir los atributos (propiedades) relevantes para el análisis de la actividad.

Entre los atributos de una dimensión existen jerarquías naturales que deben ser identificadas (por ej, día-mes-año)

Page 32: Bodegas de Dato Proceso ETL

32

Diseño de un Almacén de Datos

id_dim1

....

tabla Dimensión 1

(atri

buto

s)

Page 33: Bodegas de Dato Proceso ETL

33

Diseño de un Almacén de Datos

Ejemplo: Cadena de supermercados.

definición de gránulo

dimensiones básicas

tiempo

producto

establecimiento

Nota: En las aplicaciones reales el número de dimensiones suele variar entre 3 y 15 dimensiones.

Page 34: Bodegas de Dato Proceso ETL

34

Dimensión Tiempo

Dimensión presente en toda bodega porque contiene información histórica sobre la organización.

Se puede calcular de antemano.

Atributos frecuentes:

–día, nro de semana, año: valores absolutos del calendario juliano que permiten hacer ciertos cálculos aritméticos.

– día de la semana (lunes, martes, miércoles,...): permite hacer análisis sobre días de la semana concretos (ej.

ventas los sábado, ventas los lunes,..).

Page 35: Bodegas de Dato Proceso ETL

35

Dimensión Producto

La dimensión Producto se define a partir del archivo maestro de productos del sistema OLTP.

La dimensión Producto debe contener el mayor número posible de atributos descriptivos que permitan un análisis flexible.

Atributos frecuentes: identificador (código estándar), descripción, tamaño del envase, marca, categoría, departamento, tipo de envase, producto dietético, peso, unidades de peso, unidades por envase, fórmula, ...

Jerarquías: producto-categoría-departamento

Page 36: Bodegas de Dato Proceso ETL

36

Dimensión Establecimiento (store)

La dimensión Almacén representa la información geográfica básica.

Esta dimensión suele ser creada explícitamente recopilando información externa que sólo tiene sentido en el A.D y que no la tiene en un OLTP (número de habitantes de la ciudad del establecimiento, caracterización del tipo de población del distrito, ...)

Atributos frecuentes: identificador (código interno), nombre, dirección, distrito, región, ciudad, país, director, tipo de almacén, superficie, fecha de apertura, fecha de la última remodelación, superficie para congelados, superficie para productos frescos, datos de la población del distrito, zona de ventas, ...

Jerarquías:

– establecimiento - distrito - ciudad - región - país (jerarquía geográfica)

– establecimiento - zona_ventas - región_ventas (jerarquía de ventas)

Page 37: Bodegas de Dato Proceso ETL

37

Paso 4. Decidir la información a almacenar

Hechos: información (sobre la actividad) que se desea almacenar en cada tupla de la tabla de hechos y que será el objeto del análisis.

Precio

Unidades vendidas

Costo de producción

....

Page 38: Bodegas de Dato Proceso ETL

38

Gránulos

Ejemplo: sucursal.

Gránulo: “se desea almacenar información sobre las ventas diarias de cada producto en cada establecimiento de la cadena”.

– monto total de las ventas del producto en el día

– número total de unidades vendidas del producto en el día

– número total de clientes distintos que han comprado el producto en el día.

Page 39: Bodegas de Dato Proceso ETL

39

Ejemplo de diseño de un Almacén de Datos

id_fecha

id_producto

id_establec

valor

unidades

nro_clientes

Ventas

id_establec

nro_establec

Nombre

barrio

ciudad

país

superficie

tipo_almacén

...

id_producto

descripción

marca

subcategoría

categoría

departamento

peso

unidades_peso

tipo_envase

Dietético?

...

Establecimiento

Producto

id_fecha

día

semana

mes

año

día_semana

día_mes

trimestre

festivo

....

Tiempo

Page 40: Bodegas de Dato Proceso ETL

40

Recomendaciones de diseño

Usar claves sin significado. No tiene sentido los códigos inteligentes que además demandan tiempo para construirse.

Evitar normalizar. Esto simplifica el modelo y acelera el proceso de minería de datos.

Considerar siempre la dimensión Tiempo.

Considerar que la dimensiones pueden cambiar en el tiempo. Por ejemplo (tamaños de la empresa grande, pequeñas…la definición puede cambiar)

Es importante definir adecuadamente el nivel de agregación o granularidad de los datos.