Transmisión de datos
¿Qué es el streaming de datos?
La transmisión de datos es la recopilación, el procesamiento y el análisis continuos de datos a medida que se generan, lo que permite a las organizaciones actuar sobre la información en tiempo real. En los últimos años, la necesidad de datos en tiempo real creció exponencialmente. Las organizaciones están creando cada vez más aplicaciones y plataformas que aprovechan los flujos de datos para ofrecer análisis en tiempo real y aprendizaje automático con el fin de impulsar el crecimiento empresarial. Mediante la recopilación, el procesamiento y el análisis continuos de datos, los líderes pueden obtener información inmediata, tomar decisiones más rápidas y realizar predicciones más precisas.
Cómo funciona la transmisión de datos
Las empresas pueden aprovechar la transmisión de datos en tiempo real para realizar un seguimiento de aspectos como las transacciones comerciales en los sistemas operativos y los posibles fraudes, así como para informar sobre modelos de precios dinámicos. Mientras tanto, la proliferación del Internet de las cosas (IoT) significa que los dispositivos y sensores cotidianos transmiten enormes cantidades de datos sin procesar, y el acceso inmediato a esos conjuntos de datos puede ayudar a resolver posibles problemas o hacer recomendaciones específicas para cada lugar.
Más temas para descubrir
Transmisión vs. procesamiento por lotes
Para manejar sus datos, las organizaciones tradicionalmente se basaron en el procesamiento por lotes, que se refiere a la recopilación y procesamiento de datos en grandes fragmentos o “lotes” a intervalos específicos. Hoy en día, las empresas pueden aprovechar el procesamiento por lotes cuando requieren datos oportunos, pero no en tiempo real. Esto incluye aplicaciones como:
- Previsión de ventas.
- Gestión de inventario
- Ingesta de datos desde mainframes
- Procesamiento de encuestas a consumidores.
Sin embargo, muchas organizaciones ahora necesitan tener acceso a los datos a medida que se recopilan. La transmisión de datos ayuda a las organizaciones a tomar decisiones oportunas, lo que asegura que los datos se procesen de forma rápida, precisa y casi en tiempo real. Al procesar datos en segundos o milisegundos, la transmisión es una solución ideal para casos de uso como:
- Trading de alta frecuencia
- Ofertas en tiempo real.
- Procesamiento de registros
- Análisis en tiempo real
- DETECCIÓN DE FRAUDE
Aunque las organizaciones pueden reconocer su necesidad de datos en transferencias, puede ser difícil pasar de datos por lotes a datos en transmisiones debido a:
- Nuevas API y lenguajes para aprender. Puede ser difícil capacitar a los equipos de datos existentes con los lenguajes y herramientas que ya conocen.
- Herramientas operacionales complejas de construir. A las organizaciones les puede resultar difícil desplegar y mantener canalizaciones de datos en transmisiones que funcionen de forma fiable en su entorno de producción.
- Datos históricos y en tiempo real en sistemas separados. Puede haber modelos de gobernanza incompatibles que limiten la capacidad de controlar el acceso de los usuarios y grupos adecuados.

Transmisión vs. procesamiento en tiempo real
La transmisión y el procesamiento en tiempo real son conceptos estrechamente relacionados, y se suelen usar de forma intercambiable. Sin embargo, tienen distinciones sutiles, pero importantes.
“Transmisión de datos” se refiere a los flujos continuos de datos generados por los datos en movimiento. Es un enfoque de canalización de datos donde estos se procesan en pequeños fragmentos o eventos a medida que se generan. El “procesamiento en tiempo real”, por otro lado, enfatiza la inmediatez del análisis y la respuesta, con el objetivo de entregar información con una demora mínima una vez que se reciben los datos. En otras palabras, un sistema de transmisión de datos ingiere datos en tiempo real y los procesa a medida que llegan.
Es importante tener en cuenta que, incluso dentro del alcance de la “transmisión en tiempo real”, existe una distinción adicional entre “tiempo real” y “casi tiempo real”, principalmente con respecto a la latencia.
Procesamiento en tiempo real: los datos en tiempo real se refieren a sistemas que analizan y actúan sobre los datos con demoras insignificantes, generalmente dentro de milisegundos de la generación de datos. Estos sistemas están diseñados para situaciones en las que es fundamental actuar de inmediato, como por ejemplo:
- Comercio de acciones automatizado.
- Sistemas de monitorización médica.
- Detección de fraude en transacciones financieras
Procesamiento casi en tiempo real: esto implica una ligera demora, que generalmente se mide en segundos. Este enfoque es adecuado para situaciones en las que no es necesaria una respuesta instantánea, pero se prefieren actualizaciones oportunas, como:
- Actualizaciones de las redes sociales.
- Seguimiento logístico.
- Agregación de datos para paneles operativos .
Procesamiento incremental en canalizaciones de datos
Si bien el procesamiento de flujo puede ser la opción correcta para algunas organizaciones, su ejecución puede ser costosa y requerir muchos recursos. Una manera de obtener el beneficio de la transmisión de datos sin procesamiento continuo de datos es mediante la gradualidad. Este método procesa solo los datos recién agregados, modificados o cambiados, en lugar de un conjunto de datos completo.
Un ejemplo de cómo se puede ejecutar la gradualidad es a través de vistas materializadas en Databricks. Una vista materializada es un objeto de base de datos que almacena los resultados de una consulta como una tabla física. A diferencia de las vistas regulares de bases de datos, que son virtuales y derivan sus datos de las tablas subyacentes, las vistas materializadas contienen datos precalculados que se actualizan de forma incremental según lo programado o bajo demanda. Este cálculo previo de los datos permite acelerar los tiempos de respuesta a las consultas y mejorar el rendimiento en determinados escenarios.
Las vistas materializadas pueden resultar útiles cuando se procesan conjuntos de datos más pequeños, en lugar de conjuntos de datos completos. En general, la gradualidad de los datos dentro de una canalización puede aumentar la eficiencia mediante:
- Reducir el esfuerzo computacional
- La reducción del tiempo de procesamiento.
- La reducción del consumo de recursos.
Esto resulta especialmente ideal para canalizaciones a gran escala, donde las actualizaciones de procesamiento pueden acelerar el análisis y la toma de decisiones.
Consideraciones y compensaciones en la transmisión de datos
A medida que las organizaciones implementan flujos de datos en tiempo real, hay algunos factores importantes a considerar dentro de la arquitectura de procesamiento de datos. El diseño del sistema puede implicar algunas concesiones importantes y depende de las exigencias de carga de trabajo y los resultados empresariales de su organización. Algunas características a tener en cuenta son:
- Latencia: se refiere al tiempo que tardan los datos en procesarse y entregarse desde el momento en que se reciben. Los datos de baja latencia son fundamentales para aplicaciones en tiempo real, como la detección de fraudes o incluso la transmisión de videos en vivo, pero su mantenimiento puede resultar costoso. Elegir una latencia más alta en tus datos puede ser ideal para flujos de trabajo que solo requieren informes periódicos o donde el procesamiento y la toma de decisiones inmediatos no son críticos. Los sistemas que almacenan datos de registro o generan informes de ventas diarios o semanales suelen aprovechar flujos de datos con mayor latencia.
- Rendimiento: es una medida del volumen de datos que un sistema puede procesar a lo largo del tiempo, normalmente expresada en eventos por segundo. El alto rendimiento es crucial para el IoT, ya que maneja flujos de datos masivos de manera eficiente. Sin embargo, los niveles más altos de rendimiento introducen cierta pérdida de latencia.
- Costo: para muchas organizaciones, el costo es el factor determinante a la hora de establecer el nivel adecuado de latencia y rendimiento para sus sistemas. Para algunas cargas de trabajo que requieren un procesamiento de datos oportuno, puede valer la pena invertir en el diseño de un sistema de baja latencia y alto rendimiento. Sin embargo, si sus necesidades de datos no son inmediatas o si sus cargas de trabajo requieren lotes de datos más grandes, un sistema con mayor latencia puede ser la opción adecuada.
No todas las arquitecturas de transmisión son iguales, y es importante encontrar el equilibrio adecuado para satisfacer las demandas de tu carga de trabajo y tu presupuesto. Piénsalo como acceder a tus datos en el momento adecuado, cuando los necesitas, en lugar de en tiempo real.
Arquitectura de transmisión de Spark
La transmisión estructurada de Apache SparkTM es la tecnología central que desbloquea la transmisión de datos en la plataforma de inteligencia de datos de Databricks, que ofrece una API unificada para el procesamiento por lotes y flujos. Spark es un proyecto de código abierto que divide flujos de datos continuos en pequeños lotes manejables para su procesamiento. La transmisión estructurada (Structured Streaming) te permite realizar las mismas operaciones que llevas a cabo en modo por lotes mediante las API estructuradas de Spark y ejecutarlas en modo de transmisión. Esto puede reducir la latencia y permitir un procesamiento incremental, con latencias de tan solo 250 ms.
Transmisión estructurada: los datos se tratan como una tabla infinita y se procesan de forma incremental. Spark recoge datos entrantes en un intervalo de tiempo corto, forma un lote y luego los procesa como los trabajos por lotes tradicionales. Este enfoque combina la simplicidad del procesamiento por lotes con capacidades casi en tiempo real y cuenta con puntos de control que permiten la tolerancia a fallas y la recuperación ante fallas.
Procesamiento incremental de canalizaciones: el enfoque de Spark respecto a las canalizaciones de datos está diseñado para utilizar los recursos de manera eficiente. La canalización comienza con la ingesta de datos sin procesar, que luego se filtran, agregan o mapean en su camino hacia el sumidero de datos. Sin embargo, cada etapa procesa los datos de forma incremental a medida que avanzan por el proceso, y busca cualquier anomalía o error antes de almacenarlos en una base de datos.
Para las cargas de trabajo que requieren una alta capacidad de respuesta, Spark cuenta con un modo de procesamiento continuo que ofrece capacidades en tiempo real que procesa cada registro individualmente a medida que llega. Puedes obtener más información sobre cómo gestionar datos en transmisión en Databricks aquí.
ETL de transmisión
La ETL (extracción, transformación, carga) de transmisión ayuda a las organizaciones a procesar y analizar datos en tiempo real o casi en tiempo real para satisfacer las demandas de aplicaciones y flujos de trabajo basados en datos. Generalmente, la ETL se ejecuta en lotes. Sin embargo, la ETL de transmisión ingiere datos a medida que se generan para garantizar que los datos estén listos para el análisis casi de inmediato.
La ETL de transmisión minimiza la latencia al procesar los datos de forma incremental, lo que permite obtener actualizaciones continuas en lugar de esperar a que un conjunto de datos se agrupe. También reduce los riesgos asociados con datos obsoletos o irrelevantes, lo que garantiza que las decisiones se basen en la información más reciente disponible.
Inherente a cualquier herramienta de ETL debe estar la capacidad de escalar a medida que el negocio crece. Databricks lanzó DLT como el primer marco de ETL que utiliza un enfoque declarativo simple para construir canales de datos confiables. Sus equipos pueden usar lenguajes y herramientas que ya conocen, como SQL y Python, para crear y ejecutar sus canales de datos por lotes y en transmisión en un solo lugar con configuraciones de actualización automatizadas y controlables. Esto no solo ahorra tiempo, sino que también reduce la complejidad operativa. No importa dónde planifiques enviar tus datos, la creación de canalizaciones de transmisión de datos en la plataforma de inteligencia de datos Databricks garantiza que no pierdas tiempo entre los datos sin procesar y los limpios.
Análisis de transmisión de datos
Como hemos visto, la transmisión de datos ofrece un procesamiento continuo de datos a baja latencia y la capacidad de transmitir análisis en tiempo real a medida que ocurren los eventos. El acceso a datos sin procesar en tiempo real (o casi en tiempo real) puede ser crítico para las operaciones empresariales, ya que brinda a los tomadores de decisiones acceso a los datos más recientes y relevantes. Algunos de los beneficios del análisis de transmisión incluyen:
- Visualización de datos: mantener un ojo en la información más importante de la empresa puede ayudar a las organizaciones a administrar sus indicadores clave de desempeño (KPI) a diario. Los datos de transmisión se pueden supervisar en tiempo real, lo que permite a las empresas saber qué está ocurriendo en cada momento.
- Información empresarial: los paneles de control en tiempo real pueden ayudarte a alertarte cuando se produce un evento empresarial fuera de lo común. Por ejemplo, pueden utilizarse para automatizar la detección y la respuesta ante una amenaza empresarial o para señalar un área en la que se debe investigar un comportamiento anormal.
- Mayor competitividad: las empresas que buscan obtener una ventaja competitiva pueden usar datos de transmisión para discernir las tendencias rápidamente y establecer puntos de referencia. Esto puede darles una ventaja sobre los competidores que dependen del análisis por lotes.
- Reducción de las pérdidas prevenibles: con la ayuda de análisis en tiempo real, las organizaciones pueden prevenir o reducir el daño de incidentes como brechas de seguridad, problemas de fabricación o rotación de clientes.
- Análisis de las operaciones rutinarias empresariales: el análisis de transmisión ayuda a las organizaciones a ingerir y obtener información instantánea y procesable a partir de datos en tiempo real. Cuando los líderes tienen acceso a datos relevantes, oportunos y de confianza, pueden estar seguros de que están tomando decisiones acertadas.
Transmisión de datos para IA/ML
A medida que la inteligencia artificial (IA) y los modelos de aprendizaje automático (ML) se desarrollan y maduran, el procesamiento por lotes tradicional puede tener dificultades para seguir el ritmo del tamaño y la diversidad de datos que requieren estas aplicaciones. Las demoras en la transmisión de datos pueden provocar respuestas inexactas y un aumento de la ineficiencia de las aplicaciones.
Los datos en transmisión proporcionan un flujo continuo de información en tiempo real basado en los datos más actuales disponibles, lo que asegura que los modelos de IA/ML se adapten y realicen predicciones a medida que ocurren los eventos. Hay dos formas en que la transmisión de datos ayuda a preparar modelos de IA:
- Entrenamiento de IA: en las primeras etapas del desarrollo de IA/ML, los datos de transmisión son clave para entrenar modelos al proporcionar grandes conjuntos de datos estructurados o no estructurados. Los modelos están entrenados para reconocer patrones o correlaciones y luego hacer predicciones iniciales basadas en parámetros aleatorios o predefinidos. Este proceso se repite y refina con grandes cantidades de datos para mejorar la precisión y fiabilidad del modelo con el tiempo. Al aprender de patrones y tendencias, así como de cualquier desviación en esos patrones, estos modelos desarrollan resultados y predicciones más precisos.
- Inferencia de la IA: una vez que se ha entrenado un sistema de IA/ML, se puede implementar en un entorno de producción donde utiliza los parámetros aprendidos durante su entrenamiento para realizar predicciones (inferencias) basadas en los datos de entrada. Los datos en transmisión proporcionan información fresca y no vista, mientras que los modelos generan perspectivas y predicciones casi de manera instantánea.
Las organizaciones de todos los sectores aprovechan los conocimientos de la IA basados en conjuntos de datos en tiempo real. Los minoristas de salud y bienestar aprovechan los informes en tiempo real sobre los datos de los clientes para ayudar a los farmacéuticos a proporcionar recomendaciones y consejos personalizados. Las empresas de telecomunicaciones pueden utilizar el aprendizaje automático en tiempo real para detectar actividades fraudulentas, como el desbloqueo ilegal de dispositivos y el robo de identidad. Mientras tanto, los minoristas pueden aprovechar los datos en transmisión para automatizar la fijación de precios en tiempo real basada en el inventario y los factores del mercado.
Si bien los datos en tiempo real son cruciales para estos modelos, es importante señalar que la integración de la IA/ML con los datos en tiempo real presenta una serie de retos únicos. Algunos de estos desafíos incluyen:
- Volumen de datos: las organizaciones tienen a su alcance una gran cantidad de datos, como información de clientes, datos de transacciones, datos de uso de dispositivos y mucho más. La gestión de todos estos datos y su integración en un modelo de IA/ML requiere una arquitectura de datos sólida y capacidades de procesamiento escalables y resilientes.
- Calidad de los datos: aunque la cantidad de datos crece exponencialmente, no todos los datos son de alta calidad y precisos. Los datos suelen proceder de diversos sistemas, en formatos dispares, y pueden estar incompletos o ser incoherentes. Para que los modelos de IA/ML funcionen correctamente, los datos deben someterse a pruebas y validaciones continuas que garanticen su fiabilidad.
- Canales de datos: crear canales de datos sólidos y eficientes para gestionar la ingesta, transformación y entrega de datos en tiempo real para IA/ML puede resultar complejo. Es fundamental que tu organización invierta en una infraestructura escalable para gestionar grandes modelos de ingesta y procesamiento de datos.
Databricks aborda estos problemas a través de Mosaic AI, que proporciona a los clientes herramientas unificadas para crear, implementar, evaluar y gestionar soluciones de IA y ML. Los usuarios reciben resultados precisos personalizados con datos empresariales y pueden entrenar y utilizar sus propios modelos de aprendizaje grandes (LLM) personalizados a un costo diez veces menor.
Transmisión en Databricks
La implementación de la transmisión de datos dentro de tu organización puede requerir un gran esfuerzo. Databricks lo hace más fácil al simplificar la transmisión de datos. La plataforma de inteligencia de datos de Databricks ofrece análisis en tiempo real, aprendizaje automático y aplicaciones, todo en una sola plataforma. Al crear aplicaciones de transmisión en Databricks, podrás:
- Capacitar a todos tus equipos de datos para crear fácilmente cargas de trabajo de datos en transmisión con los lenguajes y herramientas que ya conocen y las API que ya utilizan.
- Simplificar el desarrollo y las operaciones al aprovechar las capacidades listas para usar que automatizan muchos de los aspectos de producción asociados con la construcción y el mantenimiento de las canalizaciones de datos en tiempo real.
- Eliminar los silos de datos y centralizar tus modelos de seguridad y gobernanza con una única plataforma para la transmisión y datos por lotes.
Databricks ayuda a los clientes a ir más allá de la bifurcación tradicional entre datos por lotes y datos de transmisión con la plataforma de inteligencia de datos. Al integrar el análisis en tiempo real, el aprendizaje automático (ML) y aplicaciones en una sola plataforma, las organizaciones se benefician de un procesamiento de datos simplificado en una plataforma única que maneja tanto datos por lotes como datos de transmisión.
Con la plataforma de inteligencia de datos Databricks, los usuarios pueden:
- Crear canalizaciones y aplicaciones de transmisión más rápido. Los clientes pueden usar los lenguajes y herramientas que ya conocen con APIs unificadas por lotes y transmisión en SQL y Python. Pueden desbloquear análisis en tiempo real, ML y aplicaciones para toda la organización.
- Simplificar las operaciones con herramientas automatizadas. Despliega y gestiona fácilmente tus pipelines y aplicaciones en tiempo real durante la producción. Las herramientas automatizadas simplifican la orquestación de tareas, la tolerancia o recuperación de fallas, los puntos de control automáticos, la optimización del rendimiento y el escalado automático.
- Unificar la gestión de todos tus datos en tiempo real en todas las nubes. Unity Catalog ofrece un modelo de gobernanza consistente para todos tus datos de transmisión y por lotes, lo que simplifica cómo descubres, accedes y compartes datos en tiempo real.
Además, con la ayuda de DLT, los clientes reciben herramientas automatizadas para simplificar la ingesta de datos y la ETL, al preparar conjuntos de datos para su despliegue en aplicaciones operativas, de análisis en tiempo real y ML.
La transmisión estructurada de Spark (Spark Structured Streaming) se encuentra en el corazón de las capacidades en tiempo real de Databricks. Ampliamente adoptada por cientos de miles de personas y organizaciones, proporciona una API única y unificada para el procesamiento por lotes y flujos, que facilita que los ingenieros y desarrolladores de datos creen aplicaciones en tiempo real sin cambiar el código ni aprender habilidades nuevas.
En todo el mundo, las organizaciones aprovecharon la transmisión de datos en la plataforma de inteligencia de datos de Databricks para optimizar sus sistemas operativos, gestionar redes de pago digital, explorar innovaciones nuevas en energías renovables y ayudar a proteger a los consumidores frente al fraude.
Databricks ofrece todas estas capacidades estrechamente integradas para dar soporte a tus casos de uso en tiempo real en una sola plataforma.


