Data Warehouse Tip. 17

Zonas Horarias 

Cuando trabajas con datos que provienen de diferentes zonas horarias en un data warehouse, es crucial establecer una estrategia clara para su almacenamiento, análisis y uso.

Cómo se Opera la Fecha en el Sistema de Origen

En los sistemas transaccionales (ERP, CRM, IoT, etc.), las fechas pueden ser gestionadas de distintas formas:

  • Fecha sin zona horaria (DATETIME) → Puede generar problemas de interpretación si los datos se almacenan en horario local sin información adicional.
  • Fecha con zona horaria (DATETIMEOFFSET, TIMESTAMPTZ) → Es más precisa porque conserva la zona horaria original.
  • Fecha en UTC → La mejor práctica, ya que unifica la referencia temporal sin depender de zonas horarias.

Recomendaciones en los sistemas fuente:

  •  Guardar fechas en UTC siempre que sea posible.
  • Si la fecha está en horario local, almacenarla junto con la zona horaria (DATETIMEOFFSET).
  • Considerar el horario de verano (DST):

Si el sistema opera en horario local, documentar si la zona horaria cambia según la época del año.
Evitar guardar solo la hora local sin zona horaria, ya que puede generar inconsistencias en periodos con ajustes de DST.

 

Cómo se Procesa la Fecha en el Data Warehouse

Cuando los datos llegan al DWH, es importante normalizar las fechas para un almacenamiento eficiente y una consulta optimizada.

Estrategia Recomendada:

  1. Convertir todas las fechas a UTC en la etapa de carga (ETL/ELT).
  2. Incluir la zona horaria original en una columna separada si se requiere auditoría.
  3. Crear una dimensión de tiempo (dim_time) con zonas horarias predefinidas y ajustes de horario de verano.
  4. Indexar y particionar por fecha UTC para mejorar el rendimiento de consultas.
  5. Evitar conversiones frecuentes dentro de las consultas del DWH; realizar conversiones solo en la capa de presentación.
  6. Incluir una bandera de “horario de verano” en la dim_time, para identificar si una fecha pertenece a horario estándar o de verano.

Cómo se Analiza la Fecha en Reportes y BI

Dependiendo del usuario y su ubicación, la conversión de la fecha a su zona horaria puede ser esencial para una correcta interpretación de los datos.

Buenas Prácticas en Reportes y Dashboards:

  • Convertir fechas en la capa de presentación (Power BI, Tableau, Looker) para adaptarlas a la zona horaria del usuario.
  •  Permitir que el usuario seleccione su zona horaria en los filtros del reporte.
  •  Usar métricas de intervalos normalizados, como ventas entre 9 AM y 6 PM en hora local.
  •  Manejo adecuado del horario de verano (DST):

             Algunas zonas horarias cambian en diferentes fechas cada año.


Resumen 

  • Sistemas Fuente → Idealmente almacenar en UTC, o en DATETIMEOFFSET si la fuente usa horarios locales con DST.
  •  Procesamiento en el DWH → Guardar en UTC, incluir zona horaria y bandera de horario de verano en la dim_time.
  • Análisis en BI → Convertir dinámicamente a la zona horaria correcta, considerando DST automáticamente.

 

Visto: 46 veces

Deja un comentario