Saltar al contenido
Datasmarts
Menú

De 2 horas a 9 minutos: rehacer un proceso de datos empresarial

un cliente empresarial de varios miles de millones de dólares

2 horasde ejecución de un proceso de datos crítico antes del trabajo
9 minutosde ejecución después de rehacer la capa de consulta

Este trabajo es anterior a Datasmarts. Es experiencia del fundador en un proyecto empresarial previo, entregada como ingeniero de software senior dentro de un equipo interno, no un proyecto con un cliente de Datasmarts. Aparece aquí porque es el ejemplo más claro del tipo de trabajo de bases de datos que Datasmarts sigue tomando, y está escrito en primera persona porque la capa de base de datos fue mi aporte propio dentro de un esfuerzo de equipo más grande.

El reto

Un proceso de datos crítico tardaba dos horas en correr, para un cliente cuyo negocio se medía en miles de millones. Dos horas no es apenas lento. Fija el piso de cada cuánto puede correr el proceso, lo que a su vez fija el piso de qué tan fresca puede llegar a ser la información que depende de él, y convierte cualquier falla en un reintento de dos horas.

El enfoque

Fui por la capa de consulta y no por el modelo de datos. En un sistema que ya está en producción a esa escala, cambiar el esquema significa coordinar una migración con todo lo que depende de él, y el costo de esa coordinación suele ser mayor que el costo del proceso lento. La capa de consulta, en cambio, se puede reescribir y validar contra los datos existentes sin ningún cambio de contrato aguas abajo.

Esa restricción es lo que volvió abordable el trabajo: la ganancia tenía que salir de cómo se le pedían los datos a la base, no de cómo estaban guardados.

La solución

Rehice las consultas SQL complejas que estaban en el corazón del proceso, optimizando la capa de base de datos en su lugar. El proceso conservó las mismas entradas, las mismas salidas y el mismo esquema. Lo que cambió fue el trabajo que la base de datos tenía que hacer para producirlas.

Resultados

El proceso de datos crítico pasó de 2 horas a 9 minutos. Los mismos datos, el mismo resultado, el mismo esquema, y un tiempo de ejecución que dejó de dictar cómo se programaba el resto del sistema.

Qué lo hizo difícil

Las restricciones eran la dificultad. Era un sistema en producción para un cliente de varios miles de millones de dólares, así que el proceso no se podía bajar para experimentar, y el modelo de datos no se podía mover. Cada mejora tenía que ser demostrablemente equivalente a lo que reemplazaba, porque un proceso más rápido que devuelve una respuesta un poco distinta no es una mejora, es un defecto con mejores números de rendimiento.

Una cosa que no voy a hacer aquí es reconstruir el diagnóstico. Mis notas de la época registran la restricción, el trabajo y el resultado, no la secuencia de hipótesis que me llevó hasta allá, y una reconstrucción que suene plausible sería ficción. Los hechos medidos son los dos tiempos de ejecución.

Qué se rehizo, y qué no

    1. Proceso de datos crítico

      Corría con una frecuencia fija, bloqueando el trabajo que dependía de él

    2. Capa de consulta

      Rehecha: la parte responsable del tiempo de ejecución

    3. Base de datos

      Mismo esquema, mismos datos, sin tocar

Esquema sin cambios. Rehacer las consultas en vez del modelo de datos es lo que hizo desplegable el cambio contra un sistema que ya estaba en producción.

El esquema de la base de datos se dejó quieto. Se rehizo la capa de consulta entre el proceso y los datos, que es donde se estaba yendo el tiempo de ejecución.

Siguiente caso de estudio

menos de un minuto

de respuesta del agente, cuando antes eran minutos por respuesta

De minutos a menos de un minuto: reconstruir un sistema RAG

Cortado, Inc.

Lee el caso de estudio

Tu proceso probablemente está en esta lista de alguna forma

La lectura que le cuesta un día a la semana a una persona, el reporte que nadie quiere armar, las preguntas que interrumpen al mismo gerente. Cuéntanos cuál es el tuyo y te decimos si vale la pena automatizarlo.