← Volver al blog
Ingeniería de datos2026-07-04· 1 min

Cómo diseñar un pipeline de ingeniería de datos confiable

Javier Causil

Javier Causil

Científico de datos

Un pipeline de datos confiable no es el que nunca falla, es el que falla de forma visible y recuperable. Estos son los principios que sigo al diseñarlos.

1. Validar en la frontera, no en el medio

Cada fuente externa (APIs, exports de terceros, cargas manuales) debe pasar por una validación de esquema apenas entra al pipeline. Si el dato tarda tres pasos en fallar, el error es mucho más caro de diagnosticar.

2. Idempotencia primero

Toda tarea del pipeline debe poder reintentarse sin duplicar datos. Un ejemplo simple: usar MERGE/upsert en vez de INSERT puro.

python
def upsert_batch(rows, table, key_columns):
    """Inserta o actualiza sin duplicar, usando las columnas clave."""
    for row in rows:
        table.merge(row, on=key_columns)

3. El costo de una transformación mal medida

Si nn es el número de filas y una transformación tiene costo O(n2)O(n^2) por una unión mal indexada, el tiempo de ejecución crece así:

T(n)=cn2T(n) = c \cdot n^2

Duplicar el volumen de datos (2n2n) no duplica el tiempo de proceso — lo multiplica por cuatro. Por eso perfilar antes de escalar importa más que agregar cómputo.

En resumen

  • Falla rápido y en un solo lugar.
  • Diseña para reintentos, no para "que no falle nunca".
  • Mide la complejidad real de tus transformaciones antes de escalar infraestructura.