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.
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.
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:
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:
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:

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:
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:
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:
Esto resulta especialmente ideal para canalizaciones a gran escala, donde las actualizaciones de procesamiento pueden acelerar el análisis y la toma de decisiones.
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:
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.
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í.
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.
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:
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:
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:
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.
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:
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:
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.
