ejemploCarga 2021.ppt [Modo de compatibilidad]
Transcript of ejemploCarga 2021.ppt [Modo de compatibilidad]
![Page 1: ejemploCarga 2021.ppt [Modo de compatibilidad]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/1.jpg)
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]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/2.jpg)
Integración de las herramientas
![Page 3: ejemploCarga 2021.ppt [Modo de compatibilidad]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/3.jpg)
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]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/4.jpg)
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]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/5.jpg)
Clientes
Productos
Ventas
Fuentes
5
![Page 6: ejemploCarga 2021.ppt [Modo de compatibilidad]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/6.jpg)
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]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/7.jpg)
Relación Dimensional
CLIENTES
PRODUCTOS
TIEMPO
VENTAS cantidad
Diseño Conceptual
7
![Page 8: ejemploCarga 2021.ppt [Modo de compatibilidad]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/8.jpg)
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]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/9.jpg)
Esquema Estrella
CLIENTES
PRODUCTOS
TIEMPO
cantidadVENTAS
Diseño Lógico
9
![Page 10: ejemploCarga 2021.ppt [Modo de compatibilidad]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/10.jpg)
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]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/11.jpg)
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]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/12.jpg)
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]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/13.jpg)
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]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/14.jpg)
14
Carga de Dimensión: Tiempo
![Page 15: ejemploCarga 2021.ppt [Modo de compatibilidad]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/15.jpg)
15
Carga de Dimensión: Tiempo
![Page 16: ejemploCarga 2021.ppt [Modo de compatibilidad]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/16.jpg)
BD Fuente (BD):
Tabla en el DW:
16
Carga de Dimensión: Cliente
![Page 17: ejemploCarga 2021.ppt [Modo de compatibilidad]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/17.jpg)
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]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/18.jpg)
18
Cliente: Step «Obtener ciudades»
Carga de Dimensión: Cliente
![Page 19: ejemploCarga 2021.ppt [Modo de compatibilidad]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/19.jpg)
Carga de Dimensión: Cliente
19
Cliente: Step «Ordenar por Dpto.»
![Page 20: ejemploCarga 2021.ppt [Modo de compatibilidad]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/20.jpg)
20
Carga de Dimensión: Cliente
Cliente: Step «Unión por Clave»
![Page 21: ejemploCarga 2021.ppt [Modo de compatibilidad]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/21.jpg)
21
Cliente: Step «Actualizar dimensión Cliente»
Carga de Dimensión: Cliente
![Page 22: ejemploCarga 2021.ppt [Modo de compatibilidad]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/22.jpg)
Fuente (.xls):
Tabla en el DW:
22
Carga de Dimensión: Producto
![Page 23: ejemploCarga 2021.ppt [Modo de compatibilidad]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/23.jpg)
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]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/24.jpg)
24
Carga de Dimensión: Producto
Producto: Step «Entrada Excel»
![Page 25: ejemploCarga 2021.ppt [Modo de compatibilidad]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/25.jpg)
25
Carga de Dimensión: Producto
Producto: Step «Entrada Excel»
![Page 26: ejemploCarga 2021.ppt [Modo de compatibilidad]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/26.jpg)
26
Carga de Dimensión: Producto
Producto: Step «Actualizar Dimensión Producto»
![Page 27: ejemploCarga 2021.ppt [Modo de compatibilidad]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/27.jpg)
Ventas
Fuente (.csv):
Tabla de Hechos en el DW:
27
Carga de Hechos
![Page 28: ejemploCarga 2021.ppt [Modo de compatibilidad]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/28.jpg)
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]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/29.jpg)
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]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/30.jpg)
30
Carga de Hechos
Ventas: Step «Obtener Ventas»
![Page 31: ejemploCarga 2021.ppt [Modo de compatibilidad]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/31.jpg)
Carga de Hechos
31
Ventas: Step «Filtrar valores»
![Page 32: ejemploCarga 2021.ppt [Modo de compatibilidad]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/32.jpg)
Carga de Hechos
32
Ventas: Step «Calcular Fecha»
![Page 33: ejemploCarga 2021.ppt [Modo de compatibilidad]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/33.jpg)
Carga de Hechos
33
Ventas: Step «Ordenar filas»
![Page 34: ejemploCarga 2021.ppt [Modo de compatibilidad]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/34.jpg)
Carga de Hechos
34
Ventas: Step «Agrupar por Fecha-Cliente-Producto»
![Page 35: ejemploCarga 2021.ppt [Modo de compatibilidad]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/35.jpg)
35
Carga de Hechos
Ventas: Step «Consultas Ventas del DW»
![Page 36: ejemploCarga 2021.ppt [Modo de compatibilidad]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/36.jpg)
36
Carga de Hechos
Ventas: Step «Unión por Clave»
![Page 37: ejemploCarga 2021.ppt [Modo de compatibilidad]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/37.jpg)
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]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/38.jpg)
38
Carga de Hechos
Ventas: Step «Actualizar Ventas en el DW»
![Page 39: ejemploCarga 2021.ppt [Modo de compatibilidad]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/39.jpg)
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]](https://reader033.fdocumento.com/reader033/viewer/2022042410/625ebdce7a2b8268086886a4/html5/thumbnails/40.jpg)
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)