El modelo Dataflow, once años después: qué envejeció bien y qué falló

The Dataflow Model Revisited

En el artículo que recibió el premio Test of Time de VLDB, los autores originales revisan su influyente trabajo de 2013 sobre el procesamiento de datos sin límites y desordenados. Evalúan qué aspectos del modelo han resistido el paso del tiempo —como la primacía del tiempo de evento y la futilidad de esperar a que los datos estén completos— y admiten errores en el enfoque analítico: el exceso de protagonismo de las ventanas y los triggers, y una visión demasiado centrada en el streaming que ignoraba la relación fundamental entre streams y tablas. También exploran cómo el principio de completitud se dividió en dos formas exitosas: los watermarks y la actualización consistente por instantáneas, y reflexionan sobre el futuro del streaming más allá de la analítica.

Nos centramos demasiado en la mecánica del streaming en lugar de terminar lo que la comunidad de bases de datos comenzó pero nunca completó: hacer que la complejidad del streaming analítico desaparezca casi por completo.
  1. janpeuker

    Solía estar muy metido en Dataflow/Apache Beam y literalmente tenía el artículo impreso en mi escritorio Y el libro. Estoy de acuerdo en que acertaron con el tiempo de evento frente al tiempo de procesamiento y en que nunca se debe confiar en la completitud, y me encanta que profundicen en por qué era tan difícil de aceptar. Todavía me duele la cabeza al pensar en los disparadores de flujos no acotados y me alegro de que hayamos llegado a un modelo centrado en tablas. Aún así, creo que habría sido bueno tomar algunas ideas de Spanner, como las bases de datos como bus de mensajes o información de consistencia por fila, básicamente CQRS dentro de la base de datos. Gran artículo.

  2. scott_s

    Trabajé en el área de streaming durante una década, haciendo investigación y desarrollo (ver: https://scholar.google.com/citations?user=Rdf5OIYAAAAJ&hl=en). Después de pasar del streaming específicamente a los problemas generales en grandes almacenes de datos, también llegué a la conclusión: simplemente usa SQL por defecto para todo el análisis y la lente de base de datos es la mejor manera de pensar sobre el streaming para análisis.

    Todavía creo que los modelos de programación de streaming son extremadamente interesantes y potentes. Pero solía pensar que eventualmente se volverían más convencionales como una forma elegante de programar sistemas masivamente paralelos de alto rendimiento y baja latencia. Ese no ha sido el caso, y ya no creo que lo sea. La gente se las arregla con los lenguajes y modelos de programación existentes, y eso parece estar bien.

Más de este día

2026-09-07