ejemploCarga 2021.ppt [Modo de compatibilidad]

40
Diseño y Construcción de Data Warehouse Caso de Estudio Instituto de Computación - Facultad de Ingeniería Edición 2021

Transcript of ejemploCarga 2021.ppt [Modo de compatibilidad]

Page 1: ejemploCarga 2021.ppt [Modo de compatibilidad]

Diseño y Construcción de Data Warehouse

Caso de Estudio

Instituto de Computación - Facultad de Ingeniería

Edición 2021

Page 2: ejemploCarga 2021.ppt [Modo de compatibilidad]

Integración de las herramientas

Page 3: ejemploCarga 2021.ppt [Modo de compatibilidad]

Planteo de la realidad

Una empresa tiene sucursales en distintas ciudades y abarca la mayoría de los departamentos.

Requerimientos:

Los gerentes desean analizar las ventas.

Interesa clasificarlas según los clientes, el tiempo (fecha, mes y año) y familia (tipo) del producto.

Interesa evaluar las ventas por ciudad y departamento de los clientes.

3

Page 4: ejemploCarga 2021.ppt [Modo de compatibilidad]

Fuentes

La empresa tiene diferentes formas de almacenamiento de datos.

Clientes: Base de Datos

Productos: Planilla Excel (.xls)

Ventas: Planilla (.csv)

Clientes

Productos (.xls) Ventas (.csv)

4

Base de Datos

Page 5: ejemploCarga 2021.ppt [Modo de compatibilidad]

Clientes

Productos

Ventas

Fuentes

5

Page 6: ejemploCarga 2021.ppt [Modo de compatibilidad]

Diseño Conceptual

Dimensiones y Jerarquías

CLIENTES

Departamentosid_depto #nom_dpto

Ciudadesid_ciudad #nom_ciudad

Clientesid_cliente #nom_cliente

PRODUCTOS

Familiasid_familia #nom_familia

Productosid_producto #nom_producto

TIEMPO

Añosaño #

Mesesmes #nom_mes

Fechasid_fecha #fecha

6

Page 7: ejemploCarga 2021.ppt [Modo de compatibilidad]

Relación Dimensional

CLIENTES

PRODUCTOS

TIEMPO

VENTAS cantidad

Diseño Conceptual

7

Page 8: ejemploCarga 2021.ppt [Modo de compatibilidad]

Estudio de Aditividad

MedidaDimensión

Cantidad

Tiempo

Fechas → Meses +

Meses → Años +

Años → ALL +

ProductosProductos → Familias +

Familias → ALL +

Clientes

Clientes → Ciudades +

Ciudades → Departamentos +

Departamentos → ALL +

Diseño Conceptual

8

Page 9: ejemploCarga 2021.ppt [Modo de compatibilidad]

Esquema Estrella

CLIENTES

PRODUCTOS

TIEMPO

cantidadVENTAS

Diseño Lógico

9

Page 10: ejemploCarga 2021.ppt [Modo de compatibilidad]

Diseño Físico

Seleccionar los tipos de datos más pequeños del DBMS que permitan representar los datos.

https://www.postgresql.org/docs/current/static/datatype-numeric.html

10

postgreSQL 10 – Tipos numéricos

Page 11: ejemploCarga 2021.ppt [Modo de compatibilidad]

Utilizar claves subrogadas (artificiales) de tipo entero sin signo para identificar los hechos y los diferentes niveles de las dimensiones.

Caso particular dimensión Tiempo. Claves subrogadas con formato YYYYMMDD permiten: a partir de una fecha generar el identificador y viceversa

preservan la relación de orden

Diseño Físico

11

Page 12: ejemploCarga 2021.ppt [Modo de compatibilidad]

Seleccionar un conjunto de índices adecuado, que permita realizar

joins de forma eficiente: B-TREE, HASH, etc.

Estudiar características particulares del DBMS para aprovecharlo al máximo. Por ejemplo en PostgreSQL:

Table partitioning: Divide tablas muy grandes en pequeñas tablas (https://www.postgresql.org/docs/current/ddl-partitioning.html)

VACUUM: Recupera el almacenamiento ocupado por «tuplas muertas» (https://www.postgresql.org/docs/current/static/sql-vacuum.html)

ANALIZE: Recopila estadísticos de la BD (https://www.postgresql.org/docs/current/static/sql-analyze.html)

REINDEX: Reconstruye índices (https://www.postgresql.org/docs/current/static/sql-reindex.html)

Diseño Físico

12

Page 13: ejemploCarga 2021.ppt [Modo de compatibilidad]

Dimensión Tiempo:

Generar las fechas

Para cada fecha generar los identificadores y los restantes campos de la tabla.

Insertar en la tabla Tiempo del DW.

Carga de Dimensiones

13

Page 14: ejemploCarga 2021.ppt [Modo de compatibilidad]

14

Carga de Dimensión: Tiempo

Page 15: ejemploCarga 2021.ppt [Modo de compatibilidad]

15

Carga de Dimensión: Tiempo

Page 16: ejemploCarga 2021.ppt [Modo de compatibilidad]

BD Fuente (BD):

Tabla en el DW:

16

Carga de Dimensión: Cliente

Page 17: ejemploCarga 2021.ppt [Modo de compatibilidad]

17

Carga de Dimensión: Cliente

Dimensión Cliente:

Leer los registros de las tres tablas de la base fuente.

Unir (“join”) los registros de cliente, ciudad y dpto.

Insertar en la tabla CLIENTE del DW.

Cliente: Transformación

Lectura deTablas

Unir Clientes, Ciudades y Departamentos

Insertar / Actualizar

Page 18: ejemploCarga 2021.ppt [Modo de compatibilidad]

18

Cliente: Step «Obtener ciudades»

Carga de Dimensión: Cliente

Page 19: ejemploCarga 2021.ppt [Modo de compatibilidad]

Carga de Dimensión: Cliente

19

Cliente: Step «Ordenar por Dpto.»

Page 20: ejemploCarga 2021.ppt [Modo de compatibilidad]

20

Carga de Dimensión: Cliente

Cliente: Step «Unión por Clave»

Page 21: ejemploCarga 2021.ppt [Modo de compatibilidad]

21

Cliente: Step «Actualizar dimensión Cliente»

Carga de Dimensión: Cliente

Page 22: ejemploCarga 2021.ppt [Modo de compatibilidad]

Fuente (.xls):

Tabla en el DW:

22

Carga de Dimensión: Producto

Page 23: ejemploCarga 2021.ppt [Modo de compatibilidad]

Dimensión Producto

Leer los registros de la planilla Excel (.xls)

Insertar en la tabla Producto del DW

Transformación

23

Carga de Dimensión: Producto

Page 24: ejemploCarga 2021.ppt [Modo de compatibilidad]

24

Carga de Dimensión: Producto

Producto: Step «Entrada Excel»

Page 25: ejemploCarga 2021.ppt [Modo de compatibilidad]

25

Carga de Dimensión: Producto

Producto: Step «Entrada Excel»

Page 26: ejemploCarga 2021.ppt [Modo de compatibilidad]

26

Carga de Dimensión: Producto

Producto: Step «Actualizar Dimensión Producto»

Page 27: ejemploCarga 2021.ppt [Modo de compatibilidad]

Ventas

Fuente (.csv):

Tabla de Hechos en el DW:

27

Carga de Hechos

Page 28: ejemploCarga 2021.ppt [Modo de compatibilidad]

Tabla de Hechos Ventas

Leer los registros de la planilla de Ventas.

Filtrar los campos que realmente son necesarios.

Calcular id_fecha (clave foránea a dimensión Tiempo).

Agrupar por Fecha-Cliente-Producto.

Para las combinaciones Fecha-Cliente-Producto que ya existen en el DW, sumar la cantidad.

Insertar en la tabla de hechos Ventas del DW.

28

Carga de Hechos

Page 29: ejemploCarga 2021.ppt [Modo de compatibilidad]

Transformación

29

Leer datos

Filtrar CalcularID Fecha

Agrupar porFecha-Cliente-

Producto

Verificar si la combinación ya existe

en el DW y Sumar

Actualizar tabla de Hechos

Carga de Hechos: Ventas

Page 30: ejemploCarga 2021.ppt [Modo de compatibilidad]

30

Carga de Hechos

Ventas: Step «Obtener Ventas»

Page 31: ejemploCarga 2021.ppt [Modo de compatibilidad]

Carga de Hechos

31

Ventas: Step «Filtrar valores»

Page 32: ejemploCarga 2021.ppt [Modo de compatibilidad]

Carga de Hechos

32

Ventas: Step «Calcular Fecha»

Page 33: ejemploCarga 2021.ppt [Modo de compatibilidad]

Carga de Hechos

33

Ventas: Step «Ordenar filas»

Page 34: ejemploCarga 2021.ppt [Modo de compatibilidad]

Carga de Hechos

34

Ventas: Step «Agrupar por Fecha-Cliente-Producto»

Page 35: ejemploCarga 2021.ppt [Modo de compatibilidad]

35

Carga de Hechos

Ventas: Step «Consultas Ventas del DW»

Page 36: ejemploCarga 2021.ppt [Modo de compatibilidad]

36

Carga de Hechos

Ventas: Step «Unión por Clave»

Page 37: ejemploCarga 2021.ppt [Modo de compatibilidad]

37

Carga de Hechos

Ventas: Step «Calcular nuevos valores del DW»Para las combinaciones Fecha-Cliente-Producto que ya existen en el DW, sumar la cantidad

Page 38: ejemploCarga 2021.ppt [Modo de compatibilidad]

38

Carga de Hechos

Ventas: Step «Actualizar Ventas en el DW»

Page 39: ejemploCarga 2021.ppt [Modo de compatibilidad]

En general, la dimensión Tiempo podría ser cargada solo la primera vez, eventualmente cada mucho tiempo.

Dimensiones Productos y Clientes:

Varían más frecuentemente, dimensiones dinámicas.

Deberían actualizarse en el DW cada vez que se van a cargar los hechos.

39

Transformaciones

Page 40: ejemploCarga 2021.ppt [Modo de compatibilidad]

Primera Carga:

Cargar todas las Dimensiones

Cargar los Hechos

Actualización del DW:

Cargar las Dimensiones “dinámicas” Clientes y Productos

Cargar los Hechos Ventas

40

Trabajo (Job)