En esta función especial de invitado, Rob Malnati, director de operaciones de thatDot, explica el debate de datos entre el procesamiento de flujo y el procesamiento por lotes. Rob es un emprendedor habitual centrado en la infraestructura empresarial como software. Ha definido, evangelizado y gestionado estrategias de lanzamiento al mercado y de productos para proveedores de servicios, software y SaaS basados en la nube con visión de futuro.
Sin recurrir a tu buscador favorito, ¿sabes quién es Clive Humby? No te preocupes si no lo haces. No lo hice hasta que comencé a escribir esto. Y si lo haces, te quiero en mi equipo de trivia de bar.
Fue el Sr. Humby, un matemático y empresario nacido en Inglaterra, quien en 2006 acuñó la frase «los datos son el nuevo petróleo» mientras ayudaba a lanzar una tarjeta de fidelización de compradores en sociedad con Tesco. Reconoció que las nuevas fuentes de datos combinadas con los avances tecnológicos hicieron posible crear experiencias más personalizadas que conducirían a mejores resultados comerciales. Entendió que los datos tenían un valor intrínseco.
Todo el mundo sabe lo que pasó después. Impulsada por empresas ansiosas por capitalizar este nuevo recurso, la infraestructura evolucionó para consumir exabytes, zettabytes y pronto yottabytes de datos. Los datos se hicieron grandes, y aquellos que podían acumular gran cantidad de este valioso recurso prosperaron.
Pero no todos los datos eran iguales. No solo la inteligencia, sino también los conocimientos, se encuentran en algún lugar sumergido dentro de vastos lagos de datos, esperando ser descubiertos por científicos de datos que utilizan redes neuronales y algoritmos. Aquellos que pudieron descubrir los patrones y aplicarlos a su negocio florecieron.
A lo largo de la mayor parte de esta evolución, la infraestructura siguió un modelo estándar: encontrar formas de almacenar datos de la manera más económica posible y, cuando necesitaba extraer valor, procesar tanto de una sola vez como permitieran el presupuesto, el tiempo y la tecnología.
Este es el procesamiento por lotes. Normalmente programado como parte de un flujo de trabajo bien definido, el procesamiento por lotes está profundamente arraigado en las prácticas comerciales y la infraestructura de las empresas actuales.
Los ejemplos de procesamiento por lotes incluyen simples ejecuciones de nómina quincenales para trabajos que se ejecutan muchas veces al día, sintetizando numerosas fuentes para crear perfiles de usuario personalizados para la orientación de anuncios o el comercio electrónico. Una cosa que todos los trabajos por lotes tienen en común es que producen un resultado fijo o estático que no cambiará hasta la próxima vez que se vuelva a ejecutar el trabajo por lotes.
Desafortunadamente, la próxima etapa en la evolución de los datos dejará obsoletas las vistas estáticas. Además de ser valiosos, grandes e inteligentes, los datos se han vuelto rápidos: velocidad de decisión rápida. Rápido con un clic del mouse. Más rápido de lo que un humano puede completar un pensamiento.
Los vivos y los muertos
El procesamiento por lotes es, y seguirá siendo, enormemente útil para muchas tareas cotidianas. Sin embargo, a pesar de su utilidad, el procesamiento por lotes está en desacuerdo con la forma en que funciona el mundo. Ya sea que esté hablando de transacciones financieras, fuentes de redes sociales o clics en sitios de noticias, los datos se generan continuamente. Fluye pasado. Y una vez que se ha ido, tu capacidad para actuar en ese momento también se ha ido.
La capacidad de actuar sobre los datos en tiempo real cuando las consecuencias son más significativas está impulsando el cambio hacia el procesamiento de datos en tiempo real, por ejemplo, detener un intercambio de información privilegiada antes de que suceda o recomendar un producto que combina bien con algo en un carrito de compras antes de que alguien lo revise. afuera.
Las arquitecturas de procesamiento de flujo en tiempo real difieren significativamente del procesamiento por lotes: mientras que el procesamiento por lotes requiere cantidades masivas de almacenamiento y recursos de CPU y memoria suficientes para procesar horas, días o meses de datos recopilados, el procesamiento de flujo enfatiza el rendimiento de la red, la memoria y los recursos de CPU. necesarios para calcular los resultados en el instante en que aparecen los datos.
Uno de los golpes contra el procesamiento de flujo fue su incapacidad para encontrar patrones complejos. Los trabajos por lotes tenían el lujo del tiempo al atravesar uniones entre conjuntos de datos y se consideraban los mejores para trabajos ETL.
Este ya no es el caso. Si bien las plataformas de procesamiento de flujo como Kafka y Kinesis permitieron a los usuarios organizar y administrar flujos de datos de gran volumen, la creación de sistemas complejos de procesamiento de flujo como Flink y ksqlDB hizo posible combinarlos y extraer información de ellos en tiempo real.
En términos prácticos, las empresas no pueden darse el lujo de adoptar el procesamiento de flujo en tiempo real.
Ya sea detectando un complicado ataque de rociado de contraseñas antes de que se vea comprometido, diagnosticando una interrupción del servicio causada por un rendimiento degradado en algún lugar de una infraestructura de transmisión de video en expansión antes de que los espectadores (y anunciantes) lo noten, o anticipando la falla del equipo vital de la fábrica y evitando costosas paradas de producción. , actuar en este momento es solo un buen negocio.
Dicho de otra manera, ¿puedes pensar en un solo ejemplo en el que era mejor esperar para ganar dinero o para solucionar un problema? ¿Dónde no importaba si recibías una respuesta mañana?
¿Lote o transmisión?
El procesamiento por lotes no va a ninguna parte. Es ideal para operaciones no urgentes que requieren un conjunto de información relativamente fijo. Bien utilizado, tiene sentido ser eficiente y reducir los costos.
Pero en el mundo actual, siempre conectado y de respuesta instantánea, la ventaja competitiva proviene cada vez más de la velocidad de acción y la calidad de una experiencia. Los flujos de datos son flujos de negocios, y cuando pueden aprovechar más datos más rápidamente para una gran decisión, el negocio se mueve y crece más rápido.
A medida que las empresas exijan una ejecución más rápida, el procesamiento continuo seguirá creciendo y eventualmente dominará. Evolucionar o perecer.
Regístrese para recibir el boletín gratuito insideBIGDATA.
Únase a nosotros en Twitter: https://twitter.com/InsideBigData1
Únase a nosotros en LinkedIn: https://www.linkedin.com/company/insidebigdata/
Únase a nosotros en Facebook: https://www.facebook.com/insideBIGDATANOW