DEV Community

Cover image for El Ciclo de Vida de la Ingeniería de Datos
Mirina-Gonzales
Mirina-Gonzales

Posted on

El Ciclo de Vida de la Ingeniería de Datos

El objetivo de este blog es conocer el ciclo de vida que sigue la Ingeniería de Datos (DE) y entender cómo interviene cada una de sus etapas. Para armar este contenido, estoy usando como referencia el libro Fundamentals of Data Engineering de Joe Reis & Matt Housley.

¿Qué es la Ingeniería de datos?

La ingeniería de datos es una disciplina que se centra en diseñar, construir y mantener flujos que transforman los datos desde un origen hacia un almacenamiento final o hacia los usuarios que lo necesitan.

Suele haber confusión entre el ciclo de vida del dato y el de ingeniería de datos; por eso haremos la diferenciación, aunque nos enfocaremos sobre todo en la parte de ingeniería.


1. Ciclo de Vida del Dato

El ciclo de vida de los datos es un concepto distinto. Para definirlo, tomamos como referencia el DAMA-DMBOK. Aquí se define que el dato tiene un ciclo similar al de un producto: nace, se usa y eventualmente muere.

  1. Planificación: Definir requisitos y arquitecturas antes de que el dato exista.
  2. Habilitación / Diseño: Crear los sistemas y bases de datos.
  3. Creación / Adquisición: El punto de entrada del dato (interno o externo).
  4. Mantenimiento y Almacenamiento: Procesar, limpiar y asegurar persistencia.
  5. Uso: La fase donde el dato aporta valor real al negocio.
  6. Mejora: Técnicas de calidad y enriquecimiento.
  7. Archivo: Conservación por razones legales o históricas.
  8. Eliminación / Purga: Borrado seguro cuando ya no hay utilidad.

Ciclo de Vida del Dato según DAMA


2. El Ciclo de Vida de la Ingeniería de Datos

Este ciclo se enfoca en el "pipeline" y las etapas técnicas que convierten datos crudos en recursos valiosos. Se divide en 5 etapas principales:

  1. Generación
  2. Ingesta
  3. Almacenamiento
  4. Transformación
  5. Capa de servicio

Además de ellos existen conceptos transversales (corrientes subterráneas) que intervienen en cada etapa: Seguridad, Gestión de datos, DataOps, Arquitectura, Orquestación e Ingeniería de software.

Data Engineering Lifecycle


Profundizando en las etapas

Generación

Es el origen de todo. Aquí es donde los datos nacen.

  • Conocimiento vs Control: No siempre somos dueños de la fuente (algo muy común), pero sí debemo conocer cómo se generan, su frecuencia y velocidad.
  • Comunicación: Hablar con los dueños de la fuente ayuda a prever cambios. Cada fuente tiene límites y características unicas.
  • Evolución del esquema: Mientras más cambie el esquema (Schema Evolution), más desafiante será mantener el pipeline estable.

Almacenamiento

Elegir dónde guardar los datos define qué tanta libertad tendrás para operar. En la nube, el costo depende de cual es el tiempo de acceso conocido como la "temperatura" del acceso:

  • Hot Storage: Consultas constantes (baja latencia).
  • Cold Storage: Consultas esporádicas (ej. una vez al mes).
  • Archive Storage: Datos históricos "congelados" (alta latencia).

Aunque el storage parece barato, cuando la empresa escala, los costos pueden darte dolores de cabeza si no eliges bien desde el inicio.

Ingesta

Aquí aparecen los cuellos de botella. Debes decidir tu estrategia según el caso de uso:

  • Batch (Lotes): Intervalos definidos (ejemplo leer una DB o un CSV una vez al día).
  • Streaming (Tiempo real): Flujo constante (ejemplo sensores o eventos de apps).

Importante: El streaming puede ser más caro si está activado 24/7, pero un batch mal optimizado puede descontrolarse en cómputo. Analiza siempre la fuente.

Transformación

Pasamos de datos "sucios" a datos que siguen reglas de negocio o generan valor. El Data Wrangling y la limpieza de datos son lo que garantiza que el usuario final reciba valor y no "basura".

Capa de servicio

Donde por fin vemos el valor de todo nuestro trabajo. Los datos se exponen para:

  • Analítica (BI)
  • Machine Learning
  • Reverse ETL

Conceptos Transversales

Para que el ciclo no se rompa, necesitamos estas bases:

  • Seguridad: Acceso solo a quien lo necesite. Ademas el ingeniero de datos debe tener encuenta que es el responsable de los datos a los que puede acceder y en sus desarrollos velar por la seguridad de estos.
  • Gestión de datos: Asegurar que el dato sea entendible, tenga calidad y respete la privacidad.
  • DataOps: Aplicando la Cultura DevOps pero en datos. Automatizar, monitorear y detectar errores rápido.
  • Arquitectura: El equipo de arquitectura es el encargado de entender el negocio de forma completa para tomar decisiones estratégicas. A diferencia de un ingeniero, que suele enfocarse en una cantidad limitada de proyectos o tareas específicas, los arquitectos deben conocer el mapa completo. Su rol es balancear las necesidades del negocio con la solución tecnológica más adecuada.
  • Orquestación: Es el proceso de coordinar múltiples jobs para que corran de manera rápida y eficiente, ya sea en un horario definido o según se necesite. El orquestador es el que se encarga de gestionar las dependencias.
    Además, la orquestación incluye el monitoreo de estas ejecuciones. Un buen diseño debe contemplar que los procesos pueden fallar, definiendo reglas de reintento automáticas para no depender de la intervención humana constante.

  • Ingeniería del Software: Existen áreas comunes entre la ingeniería de software y la ingeniería de datos; temas como streaming, infraestructura como código, pipeline as code, desarrollo y el uso de frameworks open source.


¿Cuál de estas 5 etapas te ha dado más dolores de cabeza recientemente? ¡Te leo en los comentarios!

Top comments (0)