¿Nuevo en el mundo de los datos?

¿Nuevo en el mundo de los datos?
Photo by Claudio Schwarz / Unsplash

Entrar al universo de la ingeniería de datos puede ser abrumador al principio, porque hay un montón de términos técnicos y conceptos que vuelan por todos lados. Si estás empezando, lo más importante es entender que un ingeniero de datos es como un arquitecto que diseña y construye los sistemas que mueven, transforman y organizan los datos. Estos datos son el combustible que impulsa a las empresas modernas, ya sea para tomar decisiones, generar reportes, o entrenar modelos de inteligencia artificial.

Este post es tu brújula inicial. Te explico los términos esenciales de forma práctica, sin tanto rodeo, para que no te sientas perdido cuando escuches cosas como "Data Lake", "ETL", o "Data Pipeline". Una vez que los entiendas, verás que todo empieza a conectar.

Así que prepárate porque aquí te dejo el glosario básico que todo ingeniero de datos debe conocer. ¡Vamos a construir juntos ese mapa mental!


1. ETL (Extract, Transform, Load)

Este es el pan de cada día en ingeniería de datos. Es el proceso de:

  • Extraer datos de diferentes fuentes (bases de datos, APIs, archivos CSV, etc.).
  • Transformar los datos para limpiarlos, normalizarlos o adaptarlos según las necesidades del negocio.
  • Cargar los datos transformados en un destino como un Data Warehouse o un Data Lake.

Esencialmente, ETL es el flujo que lleva los datos crudos a un formato útil para análisis.


2. ELT (Extract, Load, Transform)

Es como ETL, pero cambia el orden:

  • Primero extraes los datos y los cargas sin procesar a un Data Warehouse o Data Lake.
  • Luego haces las transformaciones directamente en el destino.

Este enfoque se usa mucho cuando trabajas con herramientas como Snowflake o BigQuery, que permiten procesar los datos directamente en su infraestructura.


3. Data Warehouse

Es un almacén centralizado donde guardas datos estructurados y organizados para análisis.
Ejemplo: Snowflake, Amazon Redshift, Google BigQuery.

La diferencia clave con un Data Lake es que aquí los datos ya están procesados y listos para usarse, mientras que en un Data Lake los datos suelen estar crudos.


4. Data Lake

Un Data Lake es un repositorio gigante donde puedes almacenar todos tus datos, estructurados o no, sin preocuparte mucho por organizarlos de inmediato. Es ideal para almacenar datos históricos o grandes volúmenes de datos en su forma más pura.

Ejemplo: Amazon S3, Azure Data Lake Storage, Google Cloud Storage.


5. Data Pipeline

Es el flujo automatizado que mueve datos desde una fuente (o múltiples fuentes) a un destino. Incluye tareas como extracción, transformación, validación y carga.
Herramientas populares para esto: Apache Airflow, AWS Glue, Dagster, Luigi.


6. Schema

El schema es la estructura de tus datos. Por ejemplo, en una base de datos, define las tablas, columnas, tipos de datos, etc.
En el mundo de los Data Lakes, puedes escuchar términos como schema-on-read (los datos se estructuran al leerlos) o schema-on-write (los datos se estructuran al guardarlos).


7. Batch Processing

Procesamiento de datos en lotes. Tomas un gran conjunto de datos, lo procesas todo junto y produces un resultado. Es útil para tareas como generación de reportes diarios o cargas masivas de datos.
Ejemplo: Procesar logs de todo el día al final de la jornada.

Herramientas: Apache Spark, Hadoop, AWS Glue.


8. Stream Processing

Procesamiento de datos en tiempo real o casi real. Aquí no esperas a acumular datos; los procesas a medida que llegan.
Ejemplo: Analizar clicks en una página web para hacer recomendaciones al instante.

Herramientas: Apache Kafka, Apache Flink, Kinesis, Spark Streaming.


9. Data Governance

Esto es todo lo relacionado con políticas y prácticas para asegurar que los datos estén gestionados correctamente. Incluye cosas como:

  • Controlar el acceso a los datos.
  • Mantener la calidad de los datos.
  • Garantizar la privacidad y cumplimiento con regulaciones (GDPR, CCPA, etc.).

10. Data Lakehouse

Es un híbrido entre un Data Lake y un Data Warehouse. Combina lo mejor de ambos mundos: puedes almacenar datos crudos (como en un Data Lake), pero también tener datos estructurados y listos para análisis (como en un Data Warehouse).
Ejemplo: Databricks, Delta Lake, Google BigLake.


11. Data Partitioning

Dividir grandes conjuntos de datos en partes más pequeñas y manejables. Esto ayuda a optimizar el rendimiento, especialmente cuando trabajas con grandes volúmenes de datos en herramientas como Apache Hive, Presto o Spark.


12. Orquestación de Datos

Es el proceso de coordinar las tareas en un pipeline de datos para que se ejecuten en el orden correcto y con los recursos necesarios.
Herramientas: Apache Airflow, Prefect, Dagster.


13. OLTP vs OLAP

  • OLTP (Online Transaction Processing): Bases de datos optimizadas para operaciones transaccionales. Piensa en registros de ventas o actualizaciones de inventarios.
    Ejemplo: MySQL, PostgreSQL.
  • OLAP (Online Analytical Processing): Bases de datos optimizadas para análisis de datos, como crear reportes o dashboards.
    Ejemplo: Snowflake, Redshift.

14. CDC (Change Data Capture)

Es una técnica para detectar y capturar cambios en una base de datos (como actualizaciones o nuevas filas). Es útil para mantener actualizados los datos en un pipeline sin necesidad de procesarlo todo de nuevo.
Ejemplo: Herramientas como Debezium o AWS DMS.


15. SQL vs NoSQL

  • SQL: Bases de datos relacionales, con datos estructurados en tablas. Ejemplo: MySQL, PostgreSQL.
  • NoSQL: Bases de datos no relacionales, ideales para datos semiestructurados o no estructurados. Ejemplo: MongoDB, DynamoDB.vb 9

16. Sharding

Es dividir una base de datos grande en fragmentos más pequeños (o shards) que se distribuyen entre varios servidores para mejorar el rendimiento y la escalabilidad.


17. Metadata

Los datos sobre los datos. Ejemplo: Información sobre cuándo se creó un archivo, quién lo modificó por última vez, o qué columnas tiene una tabla. Esto es clave para gestionar grandes volúmenes de datos.


18. Data Mesh

Es un enfoque moderno para gestionar datos descentralizándolos en dominios específicos. En lugar de tener un equipo centralizado manejando todos los datos, cada dominio es responsable de sus propios datos como si fueran un producto.


Con estos conceptos claros, ya tienes una buena base para moverte en el mundo de la ingeniería de dato    s.