No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Dimensiones lentamente cambiantes

8/26
Recursos

¿Qué son las dimensiones y por qué son importantes?

Las dimensiones son componentes fundamentales en el análisis de datos de un negocio. Permiten responder preguntas sobre el qué, cómo, cuándo y dónde de las operaciones. Cada dimensión se compone de atributos que pueden ser jerárquicos, descriptivos o de control.

  • Atributos jerárquicos: Permiten estructurar información en niveles, como una ciudad dentro de un departamento, y un departamento dentro de un país.
  • Atributos descriptivos: Nos ayudan a conocer mejor una entidad, como un cliente, definiendo características propias como su nombre, dirección o teléfono.
  • Atributos de control: Son esenciales para auditoría. Indican cuándo y quién almacenó un registro, garantizando la trazabilidad y avalando la integridad de los datos.

¿Cuáles son los tipos de dimensiones lentamente cambiantes?

Las dimensiones lentamente cambiantes definidas en tres tipos principales son cruciales a la hora de manejar actualizaciones y cambios de datos en una fuente. Cada tipo aborda los cambios de manera distinta, permitiendo distintos grados de conservación histórica.

Tipo 1: ¿Cómo funciona?

Este tipo de dimensión se asemeja a las tablas transaccionales. Solo almacena la información más actual reemplazando el valor previo sin conservar el historial. Si un producto inicialmente registrado como azul cambia a amarillo, la nueva carga de datos sobrescribe el azul con el amarillo, sin mantener el registro del cambio.

Ejemplo de código para cargar una dimensión tipo 1:

UPDATE productos SET color = 'amarillo' WHERE codigo_producto = '001' AND color = 'azul';

Tipo 2: ¿Cuál es su enfoque?

A diferencia del tipo 1, las dimensiones tipo 2 mantienen un registro histórico. Cada cambio significativo, como el color de un producto, genera un nuevo registro con información de auditoría, permitiendo saber qué vigencia tuvo cada estado del producto.

Ejemplo de código para cargar una dimensión tipo 2:

INSERT INTO productos (codigo_producto, color, fecha_inicio, fecha_fin) 
VALUES ('001', 'amarillo', '2023-10-01', NULL);

UPDATE productos SET fecha_fin = '2023-09-30' WHERE codigo_producto = '001' AND color = 'azul';

Tipo 3: ¿Qué propone esta técnica?

Este tipo crea una nueva columna para registrar el valor anterior del atributo y el actual. Esto asegura un tipo de historia más resumida, adecuada para ciertos tipos de análisis sin crear múltiples registros por cada cambio.

Ejemplo de código para cargar una dimensión tipo 3:

UPDATE productos
SET color_anterior = color, color = 'amarillo'
WHERE codigo_producto = '001' AND color = 'azul';

Consejos para implementar dimensiones lentamente cambiantes

Elegir el tipo adecuado de dimensión es clave para el diseño eficaz de un almacén de datos. Considere las necesidades de su negocio:

  1. Historia Completa: Si necesita rastrear todos los cambios, opte por el tipo 2.
  2. Auditoría: Utilice atributos de control para una mejor auditoría y trazabilidad, especialmente con el tipo 2.
  3. Simplicidad: Use el tipo 1 para situaciones donde la información pasada no es relevante.
  4. Análisis Rápido: Tipo 3 es útil si se requieren comparaciones directas entre el estado actual y uno anterior inmediato.

¡Manténgase motivado! Cada aprendizaje en torno a las dimensiones lentamente cambiantes abre puertas a un análisis más profundo y sólido de los datos. Experimentar con estos conceptos te llevará a un mejor dominio del modelado de datos y te ayudará a enfrentar exitosamente los desafíos que surjan en la gestión de información empresarial.

Aportes 5

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Cuando esten en el slide Tipos de Dimensione SDC hace referencia (Slowly Changing Dimensions)

Las Dimensiones Cambiantes Lentamente (Slowly Changing Dimensions o SCD) son un concepto en la gestión de datos que se refiere a cómo manejar los cambios en los atributos de las dimensiones a lo largo del tiempo. En un almacén de datos, las dimensiones proporcionan contexto a las medidas o métricas en las tablas de hechos.

Existen diferentes tipos de dimensiones cambiantes lentamente, dependiendo de cómo se gestionen los cambios en los atributos de las dimensiones:

  1. Tipo 1 SCD: En este tipo, los atributos de la dimensión se sobrescriben con los nuevos valores cuando ocurren cambios. Esto significa que los datos históricos no se conservan y la dimensión refleja únicamente los valores más recientes. Los Tipo 1 SCD son adecuados cuando la información histórica no es importante o cuando se puede recuperar de otras fuentes.

  2. Tipo 2 SCD: En este tipo, se inserta un nuevo registro en la tabla de dimensiones para representar los valores modificados de los atributos. Esto permite conservar los datos históricos, ya que cada registro representa una versión diferente de la dimensión. Por lo general, se utilizan claves sustitutas y fechas efectivas para rastrear las diferentes versiones. Los Tipo 2 SCD se utilizan comúnmente cuando se requiere análisis histórico y la dimensión cambia con relativa poca frecuencia.

  3. Tipo 3 SCD: Este tipo implica agregar columnas a la tabla de dimensiones para almacenar tanto los valores actuales como los valores anteriores de ciertos atributos. Este enfoque permite un seguimiento limitado de los cambios a lo largo del tiempo, pero puede que no capture la historia completa de la dimensión. Los Tipo 3 SCD se utilizan cuando es importante realizar un seguimiento de cambios específicos de atributos mientras se mantiene la simplicidad en el modelo de datos.

La elección del tipo de dimensión cambiante lentamente a utilizar depende de los requisitos específicos del almacén de datos y las necesidades de análisis. Es importante considerar factores como la importancia de los datos históricos, la frecuencia de los cambios en la dimensión y las implicaciones de almacenamiento y rendimiento de cada enfoque.

Las SCD son un aspecto crucial de los almacenes de datos, ya que permiten representar datos a lo largo del tiempo, lo que permite un análisis e informes históricos precisos.

Tipo 1: Lentamente cambiante, un registro en una fuente de datos que en algun momento cambia y se reemplaza no guarda historicos. (reemplaza el valor inicial)
Tipo 2: Lentamente cambiante, un registro que guarda la historia, diciendo que en algun momento fue algo y cambio despues.
Tipo 3: Almacena infomracion historica pero almacenado en una columna nueva indicando el valor que tenia y en la columna nueva el nuevo valor asociado.

Las **Dimensiones Lentamente Cambiantes (Slowly Changing Dimensions - SCD)** son un concepto clave en el diseño de un **Data Warehouse**. Se refieren a cómo manejar los cambios en los atributos de una dimensión a lo largo del tiempo, preservando la historia cuando sea necesario. ### **Tipos de Dimensiones Lentamente Cambiantes (SCD)** #### **1. Tipo 0: Sin cambios (Fixed Dimensions)** * **Descripción**: Los datos de la dimensión no cambian. * **Uso típico**: Cuando los datos deben permanecer constantes, como un identificador único (p. ej., código de producto). * **Ejemplo**: Un producto tiene un código que no varía con el tiempo. #### **2. Tipo 1: Sobrescritura del valor antiguo** * **Descripción**: Se actualiza el atributo directamente, sobrescribiendo el valor anterior. No se guarda un historial. * **Ventajas**: * Simplicidad de implementación. * Requiere menos espacio de almacenamiento. * **Desventajas**: * Pierde la historia del cambio. * **Ejemplo**: * Cambio en el número de teléfono de un cliente: el valor antiguo se reemplaza por el nuevo. #### **3. Tipo 2: Registro de cambios históricos** * **Descripción**: Cada cambio genera un nuevo registro en la tabla de dimensión, manteniendo el historial completo. * **Ventajas**: * Permite análisis históricos y trazabilidad. * **Desventajas**: * Incrementa el tamaño de las dimensiones. * Requiere un mecanismo para identificar registros actuales y antiguos. * **Implementación**: * **Clave sustituta**: Se utiliza un identificador único para cada versión del registro. * **Atributos adicionales**: Incluyen columnas como `fecha_inicio`, `fecha_fin` y un indicador (`actual`) para identificar el registro activo. * **Ejemplo**: * Si un cliente cambia de dirección, se crea un nuevo registro con la nueva dirección, manteniendo el anterior. #### **4. Tipo 3: Rastro de un cambio limitado** * **Descripción**: Se almacena el valor actual y un valor anterior en la misma tabla, limitando la capacidad de rastrear más de un cambio. * **Ventajas**: * Fácil de implementar. * Útil para cambios específicos y limitados en número. * **Desventajas**: * No es adecuado para mantener un historial completo. * **Ejemplo**: * Se agrega una columna `dirección_actual` y otra `dirección_anterior` para capturar un cambio en la dirección de un cliente. #### **5. Tipo 4: Dimensión de historial por separado** * **Descripción**: Se separan los registros históricos en una tabla aparte, mientras que la tabla principal almacena solo el registro actual. * **Ventajas**: * Se reduce la complejidad en la tabla principal. * El historial se mantiene de forma estructurada y eficiente. * **Desventajas**: * Requiere consultas adicionales para acceder al historial. * **Ejemplo**: * Una tabla principal contiene la información del cliente actual, y una tabla de historial guarda los cambios previos. #### **6. Tipo 6: Híbrido (Tipo 1 + Tipo 2 + Tipo 3)** * **Descripción**: Combina los enfoques de los tipos 1, 2 y 3. Se mantiene el historial completo (como en Tipo 2), pero también se guardan el valor actual y el valor anterior en la misma tabla. * **Ventajas**: * Proporciona flexibilidad al manejar cambios de diferentes tipos. * **Desventajas**: * Requiere mayor complejidad en el diseño y mantenimiento. * **Ejemplo**: * Una tabla de cliente guarda columnas para `dirección_actual`, `dirección_anterior` y un historial completo en múltiples registros. ### **Cuándo usar cada tipo** **TipoUso típicoTipo 0**Datos que no deben cambiar (identificadores únicos).**Tipo 1**Cuando la precisión actual es más importante que el historial (p. ej., correos).**Tipo 2**Para análisis históricos o auditoría de datos (p. ej., cambios en dirección).**Tipo 3**Cambios limitados que no requieren un historial extenso (p. ej., ascensos).**Tipo 4**Para separar datos históricos en otra tabla, optimizando la tabla principal.**Tipo 6**Cuando se necesita rastrear valores actuales, anteriores y un historial completo. ### **Ejemplo práctico: Cliente cambia de dirección** 1. **Tipo 1**: Actualizas la dirección directamente. * `Dirección: Calle 1` → `Calle 2`. 2. **Tipo 2**: Creas un nuevo registro con la nueva dirección. * Reg 1: `Cliente 001`, `Calle 1`, `2022-01-01` a `2023-01-01`. * Reg 2: `Cliente 001`, `Calle 2`, `2023-01-02` a `actual`. 3. **Tipo 3**: Guardas la dirección actual y anterior en columnas separadas. * `Dirección_actual: Calle 2`, `Dirección_anterior: Calle 1`. 4. **Tipo 4**: La tabla principal guarda `Calle 2`, y el historial queda en otra tabla. 5. **Tipo 6**: Combinas columnas de Tipo 3 con el historial completo de Tipo 2. Estas estrategias permiten manejar cambios en los datos dependiendo de los requerimientos del negocio y el análisis necesario.
**Atributos:** * ***Jerárquicos***`Permiten ir de lo general a lo particular. Consolidar y desagregar. por ej: país` * ***Descriptivos***`Información relevante. Netamente descriptiva. Por ej: teléfono, domicilio, talla.` * ***De control***`Datos de auditoría, no perteneces al conocimiento del negocio. Por ej: fecha de carga` **Tipo 1:** En este tipo, los atributos de la dimensión se sobrescriben con los nuevos valores cuando ocurren cambios. **Tipo 2:** En este tipo, se inserta un nuevo registro en la tabla de dimensiones para representar los valores modificados de los atributos. **Tipo 3:** Este tipo implica agregar columnas a la tabla de dimensiones para almacenar tanto los valores actuales como los valores anteriores de ciertos atributos.