Procesamiento de datos en streaming en Kafka con Timeplus Proton
En abril de 2024, Jove Zhong, cofundador de Timeplus, subió al escenario en el Seattle Unstructured Data Meetup para dar una charla sobre "Procesamiento de datos en streaming en Kafka con Timeplus Proton." Como experto en streaming de datos y procesamiento en tiempo real, Jove ofreció una visión general completa de cómo Timeplus se integra con Kafka para manejar datos en tiempo real, a la vez que nos brindó demostraciones en vivo que fueron tanto atractivas como educativas. Profundicemos en los puntos clave y las ideas de esta sesión reveladora.
Enlace a la repetición en YouTube de la charla de Jove Zhong: Ver la charla en YouTube
Timeplus y sus capacidades en tiempo real
Jove Zhong es un maestro de la ingeniería de software. Si no me crees, revisa su trayectoria. Cofundador y jefe de producto en Timeplus, exdirector de ingeniería en Splunk, titular de 17 patentes y 4 certificaciones de AWS. Ah, y es un “papá de clase mundial” desde 2010. Jove traza paralelismos fascinantes entre la paternidad y el liderazgo empresarial, mostrando que criar a un hijo y dirigir una empresa tienen más en común de lo que pensarías.
Con eso, profundicemos en la charla de Jove sobre “Procesamiento de datos en streaming en Kafka con Timeplus Proton.”
Con sede en Santa Clara, California, Timeplus está revolucionando el manejo de datos en tiempo real con su innovadora base de datos SQL de streaming y plataforma de análisis en tiempo real. Respaldado por importantes capitalistas de riesgo y tecnólogos, Timeplus ofrece versiones tanto de código abierto como comerciales, lo que permite una gestión y procesamiento eficientes de flujos de datos en vivo. Sus características destacadas incluyen paneles dinámicos y procesamiento basado en SQL, haciendo que la manipulación de datos en tiempo real sea accesible y fácil de usar.
Timeplus Proton, el motor central de Timeplus, sirve como una potente alternativa a plataformas como ksqlDB y Apache Flink. Es ligero, está escrito en C++ y está optimizado para el rendimiento. Con capacidades como ETL en streaming, funciones de ventana y agregación de alta cardinalidad, Proton permite a los desarrolladores abordar eficientemente los desafíos del procesamiento de datos en streaming. La plataforma admite diversas fuentes de datos, incluidas Apache Kafka, Confluent Cloud y Redpanda, y permite obtener información y alertas en tiempo real.
Ya sea para FinTech, IA, aprendizaje automático u observabilidad, Timeplus proporciona capacidades de extremo a extremo que ayudan a los equipos de datos a procesar datos en streaming e históricos de forma rápida e intuitiva. Es una solución simple, potente y rentable diseñada para organizaciones de todos los tamaños e industrias.
Demostración en vivo: monitoreo del precio de Bitcoin en tiempo real
Para comenzar, Jove demostró las capacidades en tiempo real de Timeplus mostrando una transmisión en vivo del precio de Bitcoin. Esta demostración no fue solo una muestra de destreza tecnológica, sino también una ilustración de cómo Timeplus puede procesar y mostrar datos más rápido que fuentes convencionales como Google. La audiencia quedó cautivada mientras Jove comparaba la transmisión en tiempo real con la de Google, destacando el rendimiento superior de Timeplus.
Kafka: la columna vertebral del streaming de datos en tiempo real
Jove ofreció una inmersión profunda en Kafka, explicando su arquitectura y funcionalidad. Kafka es una potente plataforma de streaming de eventos de código abierto para manejar diversos tipos de datos y gestionar entornos de computación distribuida. Escrito en Java y Scala, Kafka está diseñado para manejar flujos de datos en tiempo real con alto rendimiento y baja latencia. Con la confianza de más del 80% de las empresas Fortune 100, incluidos gigantes de la industria como Goldman Sachs, Target y Cisco, Kafka es conocido por su fiabilidad y rendimiento.
Comprender la arquitectura de Kafka
Kafka opera como una plataforma distribuida de streaming de datos capaz de gestionar millones de eventos por segundo. Al visualizar la arquitectura de Kafka mediante el siguiente diagrama, Jove demostró la capacidad de la plataforma para gestionar fuentes de datos en tiempo real con alto rendimiento y baja latencia, lo que la convierte en una herramienta poderosa para las necesidades modernas de streaming de datos. El diagrama explica la arquitectura de cómo productores, consumidores y brokers trabajan juntos para garantizar que los datos se procesen y entreguen de manera eficiente. También analizó las estrategias de replicación y particionamiento de Kafka, que proporcionan tolerancia a fallos y escalabilidad.
Kafka opera como un sistema distribuido compuesto por servidores y clientes que se comunican mediante un protocolo de red TCP de alto rendimiento. Puede implementarse en hardware bare-metal, máquinas virtuales y contenedores tanto en entornos locales como en la nube.
La arquitectura de Kafka, como se ilustra en el diagrama, consta de varios componentes clave:
Clientes y Brokers: Kafka opera como un sistema distribuido compuesto por clientes y brokers. Los clientes son aplicaciones que producen y consumen mensajes. Los brokers son servidores que almacenan y reenvían estos mensajes. El diagrama muestra cómo los clientes se conectan a un broker, que actúa como un servidor de arranque para enrutar los datos a otros brokers del clúster.
Productores y Consumidores: Los productores son responsables de enviar datos a los temas de Kafka, mientras que los consumidores leen datos de estos temas. El diagrama muestra cómo un productor envía mensajes a diferentes temas (Topic A, Topic B, Topic C) a través de múltiples brokers. Luego, los consumidores leen desde estos temas, asegurando que los datos se procesen y entreguen de manera eficiente.
Temas y Particiones: Los temas de Kafka se dividen en particiones, lo que permite el procesamiento paralelo de datos. Cada partición se replica en múltiples brokers para garantizar la tolerancia a fallos. El diagrama muestra un tema con tres particiones siendo consumido por diferentes consumidores, lo que demuestra cómo Kafka distribuye la carga y mantiene una alta disponibilidad.
Escalabilidad y Tolerancia a Fallos: Los clústeres de Kafka son altamente escalables y pueden abarcar múltiples centros de datos o regiones en la nube. La arquitectura admite expansión y contracción elásticas, garantizando operaciones continuas sin pérdida de datos. Si un broker falla, el sistema puede recuperarse redirigiendo los datos a otros brokers.
LLM en streaming y bases de datos vectoriales
Una parte significativa de la charla estuvo dedicada a explorar cómo el streaming de datos se integra con Large Language Models (LLMs) y bases de datos vectoriales. Jove enfatizó el potencial de estas integraciones para mejorar las aplicaciones de IA, haciendo que el procesamiento de datos sea más eficiente y preciso. La fusión de datos en streaming con modelos de IA puede mejorar significativamente la capacidad de respuesta y la inteligencia de diversas aplicaciones.
Recientemente, Zilliz Cloud y Confluent Cloud for Apache Flink® anunciaron una asociación que demuestra aún más este concepto. Aprovechando esto, puedes crear aplicaciones GenAI en tiempo real usando Kafka y Flink; las empresas pueden crear canalizaciones de datos en tiempo real que alimenten bases de datos vectoriales como Milvus. Esta configuración permite el desarrollo de aplicaciones avanzadas de IA, como búsqueda semántica en tiempo real y Retrieval Augmented Generation (RAG). Con el procesamiento de datos en tiempo real, los LLMs pueden acceder a la información más actual, garantizando respuestas precisas y oportunas en aplicaciones que van desde la búsqueda empresarial hasta recomendaciones personalizadas en comercio electrónico.
Aplicaciones prácticas: chatbots impulsados por IA
Una de las aplicaciones prácticas que Jove analizó fue el uso de datos en tiempo real en chatbots impulsados por IA. Al aprovechar flujos de datos en tiempo real, estos chatbots pueden proporcionar información actualizada, como actualizaciones del estado de vuelos. Por ejemplo, un chatbot podría informar instantáneamente a los usuarios sobre retrasos de vuelos y sugerir vuelos alternativos, demostrando los beneficios prácticos del procesamiento de datos en tiempo real.
Jove dio un ejemplo que imagina que estás chateando con un bot de estado de vuelos:
Usuario: "¿Cuál es el estado de mi vuelo a Nueva York?"
Chatbot: "Tu vuelo se retrasa 2 horas."
Usuario: "¿Puedo encontrar otro vuelo que me lleve allí antes?"
Chatbot: "Sí, hay un vuelo alternativo disponible con un asiento restante. Te costará $1500, pero llegarás a tiempo."
Usuario: "Genial, resérvalo por mí."
En este escenario, el chatbot utiliza los flujos de datos en tiempo real de Kafka para proporcionar información de vuelos actualizada. No solo informa al usuario sobre retrasos, sino que también verifica vuelos disponibles, asientos y precios en tiempo real. Luego, el chatbot presenta esta información al usuario, lo que permite tomar decisiones rápidas e informadas. Este ejemplo muestra cómo las capacidades de procesamiento de datos en tiempo real de Kafka mejoran la funcionalidad y la capacidad de respuesta de los chatbots impulsados por IA, convirtiéndolos en herramientas valiosas para usuarios que buscan información inmediata y precisa.
Integración de Timeplus con bases de datos vectoriales
La demo de Jove continuó con una impresionante integración de Timeplus y bases de datos vectoriales, es decir, Milvus, mostrando cómo se procesaban y consultaban datos de Hacker News en tiempo real. Este proceso se ilustra en el diagrama de abajo. El flujo de trabajo comienza con la recuperación de datos de la API de Hacker News, seguida de la conversión de HTML a texto usando Bytewax. Luego, el texto se incrusta con Hugging Face y se transmite usando las capacidades SQL de Timeplus. Los datos se conectan a Kafka mediante el conector sink de Milvus, lo que permite consultas y procesamiento en tiempo real en la base de datos vectorial Milvus.
Nos guio a través de un ejemplo concreto para ilustrar el poder de esta integración.
Imagina que estás trabajando con datos de Hacker News. Obtengamos los datos más recientes de Hacker News. Usando Timeplus, podemos transmitir estos datos en tiempo real. Jove introduce un comando y, en cuestión de segundos, aparece un flujo de publicaciones de Hacker News. Ahora, digamos que queremos encontrar todas las publicaciones que mencionan 'dogfooding.' Podemos ejecutar una consulta compleja en estos datos no estructurados. Él escribe la consulta y, casi al instante, el sistema devuelve una lista de publicaciones relevantes.
Pero no nos detenemos ahí. Veamos el análisis de sentimiento de estas publicaciones. Con otro comando, los datos se procesan y se muestra el análisis de sentimiento, indicando qué publicaciones son positivas, negativas o neutrales.
Este es el poder de integrar Timeplus con bases de datos vectoriales. Podemos manejar grandes cantidades de datos no estructurados, ejecutar consultas complejas y extraer información valiosa en tiempo real."
Además de Timeplus, Milvus también ofrece integración con Kafka usando el Confluent Kafka Connector, lo que permite la transmisión de datos vectoriales en tiempo real a Milvus o Zilliz Cloud. Esta configuración permite búsquedas semánticas y búsquedas por similitud en tiempo real, mejorando la capacidad de obtener conocimientos inmediatos a partir de datos en streaming.
Para darte una visión rápida, la siguiente tabla enumera algunos productos importantes con su descripción y casos de uso discutidos en este artículo.
| Producto | Descripción | Caso de uso |
| Timeplus | Una plataforma de análisis en tiempo real con potentes capacidades de SQL de streaming. | Procesamiento y análisis de datos en tiempo real. |
| Timeplus Proton | El motor principal de Timeplus es ligero, escrito en C++ y optimizado para el rendimiento. | ETL de streaming, funciones de ventanas, agregación de alta cardinalidad. |
| Kafka | Plataforma distribuida de streaming de eventos, que gestiona flujos de datos de alto rendimiento y baja latencia. | Canalizaciones de datos, análisis de streaming, integración de datos. |
| Confluent Kafka Connector | Herramienta para integrar Kafka con Milvus y Zilliz Cloud, que permite el streaming de datos vectoriales en tiempo real. | Streaming de datos en tiempo real a bases de datos vectoriales. |
| Apache Flink | Marco unificado de procesamiento por lotes y de streaming, integrado con Kafka en Confluent Cloud. | Procesamiento de streaming de alto rendimiento. |
Conclusión
La charla de Jove Zhong en el Seattle Unstructured Data Meetup fue una clase magistral sobre procesamiento de datos en tiempo real. Desde demostraciones prácticas hasta inmersiones profundas en conceptos avanzados, Jove proporcionó una visión general completa de cómo Timeplus y Kafka están dando forma al futuro del análisis de datos. La charla concluyó con una mirada hacia el futuro del SQL de streaming y el procesamiento en tiempo real. Jove destacó la creciente importancia de estas tecnologías en la construcción de sistemas de IA más inteligentes y con mayor capacidad de respuesta. La capacidad de procesar datos en tiempo real y tomar decisiones inmediatas se está volviendo crucial en muchas industrias, desde las finanzas hasta la atención médica.
Para quienes estén interesados en explorar más a fondo estas tecnologías, la repetición completa de la charla y las diapositivas de la presentación están disponibles.
Sigue leyendo

Introducing Customer-Managed Encryption Keys (CMEK) on Zilliz Cloud
We're announcing the general availability of Customer-Managed Encryption Keys (CMEK) on Zilliz Cloud.

Will Amazon S3 Vectors Kill Vector Databases—or Save Them?
AWS S3 Vectors aims for 90% cost savings for vector storage. But will it kill vectordbs like Milvus? A deep dive into costs, limits, and the future of tiered storage.

Introducing Zilliz MCP Server: Natural Language Access to Your Vector Database
Developers can easily manage and query vector databases with natural language via Zilliz MCP Server in AI-native environments.



