Los datos de streaming son datos que se generan constantemente a partir de miles de fuentes de datos, que normalmente envían los registros de datos simultáneamente en conjuntos de tamaño pequeño (varios kilobytes). Los datos de streaming incluyen diversos tipos de datos, como archivos de registros generados por los clientes que utilizan sus aplicaciones móviles o web, compras electrónicas, actividades de los jugadores en un juego, información de redes sociales, operaciones bursátiles o servicios geoespaciales, así como telemetría de dispositivos conectados o instrumentación en centros de datos.

Estos datos deben procesarse de forma secuencial y gradual registro por registro o en ventanas de tiempo graduales, y se utilizan para una amplia variedad de tipos de análisis, como correlaciones, agregaciones, filtrado y muestreo. La información derivada del análisis aporta a las empresas visibilidad de numerosos aspectos del negocio y de las actividades de los clientes, como el uso del servicio (para la medición/facturación), la actividad del servidor, los clics en un sitio web y la ubicación geográfica de dispositivos, personas y mercancías, y les permite responder con rapidez ante cualquier situación que surja. Por ejemplo, las empresas pueden supervisar los cambios en la opinión pública de sus marcas y productos al analizar constantemente las transmisiones de los medios sociales y responder rápidamente cuando sea necesario.


El procesamiento de los datos de streaming supone una ventaja en la mayoría de las situaciones en las que se generan datos nuevos y dinámicos de forma constante. Es apto para la mayoría de los sectores y casos de uso de big data. Por lo general, las empresas comienzan con aplicaciones sencillas, como la recopilación de registros del sistema, y el procesamiento rudimentario, como la implementación de cálculos mín.-máx. Más adelante, estas aplicaciones evolucionan y se pasa al procesamiento más sofisticado casi en tiempo real. En un principio, las aplicaciones pueden procesar transmisiones de datos para producir informes básicos y realizar acciones sencillas como respuesta, por ejemplo, emitir alertas cuando las medidas clave superan ciertos umbrales. Con el tiempo, dichas aplicaciones realizan un análisis de datos más sofisticado, como la aplicación de algoritmos de aprendizaje automático y la extracción de información más exhaustiva a partir de los datos. Con el tiempo, se aplican algoritmos complejos de procesamiento de eventos y transmisiones, como las ventanas de tiempo de decaimiento para encontrar las películas más populares, lo que proporciona todavía más información.


  • Los sensores de los vehículos de transporte, el equipo industrial y la maquinaria agrícola envían datos a una aplicación de streaming. La aplicación supervisa el rendimiento, detecta cualquier posible defecto de forma anticipada y envía el pedido de un recambio automáticamente, lo que evita el tiempo de inactividad del equipo.
  • Una institución financiera controla los cambios en la bolsa en tiempo real, procesa el valor en riesgo y modifica las carteras automáticamente en función de los cambios en los precios de las acciones.
  • Un sitio web inmobiliario controla un subconjunto de datos de los dispositivos móviles de los clientes y realiza recomendaciones en tiempo real acerca de los inmuebles que deben visitar en función de su ubicación geográfica.
  • Una compañía de energía solar debe mantener constante el suministro de electricidad a sus clientes, ya que si no lo hace se la sanciona. Ha implementado una aplicación de datos de streaming que supervisa todos los paneles del terreno y programa el servicio en tiempo real, minimizando así los periodos de escaso suministro de cada panel y, por lo tanto, las sanciones económicas.
  • Una empresa editora de medios transmite miles de millones de registros de clics de sus propiedades en línea, acumula los datos y los enriquece con información demográfica sobre los usuarios, y optimiza la ubicación del contenido en su sitio, proporcionando así una experiencia mejor y más relevante a su público.
  • Una compañía de juegos en línea recopila datos de streaming acerca de las interacciones de los jugadores con el juego y los envía a su plataforma de juegos. A continuación, analiza los datos en tiempo real, ofrece incentivos y experiencias dinámicas que involucran a los jugadores.

Antes de ocuparnos de los datos de streaming, merece la pena comparar y contrastar el procesamiento de transmisiones y el procesamiento por lotes. El procesamiento por lotes se puede utilizar para procesar consultas arbitrarias a diferentes conjuntos de datos. Normalmente, ofrece resultados derivados de todos los datos que reúne y facilita un análisis profundo de los conjuntos de big data. Los sistemas basados en MapReduce, como Amazon EMR, son ejemplos de plataformas compatibles con los trabajos por lotes. A diferencia de este, el procesamiento de transmisiones requiere la introducción de una secuencia de datos y la actualización gradual de las métricas, los informes y las estadísticas de resumen como respuesta a cada registro de datos de llegada. Es más adecuado para las funciones de respuesta y supervisión en tiempo real.

  Procesamiento por lotes Procesamiento de transmisiones
Alcance de los datos Consultas o procesamiento de todos o la mayoría de los datos del conjunto. Consultas o procesamiento de los datos en un intervalo de tiempo gradual, o en los registros de datos más recientes.
Tamaño de los datos
Lotes grandes de datos.
Registros individuales o microlotes que se componen de unos pocos registros.
Desempeño Latencias de entre minutos y horas. Requiere una latencia de segundos o milisegundos.
Análisis Análisis complejo. Funciones de respuesta sencilla, agregaciones y métricas graduales.

Muchas organizaciones están combinando los dos enfoques y desarrollando un modelo híbrido, por lo que mantienen una capa por lotes y una capa en tiempo real. En primer lugar, una plataforma de datos de streaming como Amazon Kinesis procesa los datos para extraer información en tiempo real. A continuación, se envían a un almacén como S3, donde se pueden transformar y cargar para diversos casos de uso de procesamiento por lotes.


El procesamiento de datos de streaming necesita dos capas: una capa de almacenamiento y una capa de procesamiento. La capa de almacenamiento debe ser compatible con la ordenación de registros y la alta coherencia para facilitar lecturas y escrituras de transmisiones de datos de gran tamaño de forma rápida, económica y que permita reproducciones adicionales. La capa de procesamiento es responsable del consumo de los datos de la capa de almacenamiento. Realiza tareas informáticas a partir de los datos y notifica a la capa de almacenamiento para que elimine los datos que ya no son necesarios. También es necesario planificar la escalabilidad, la durabilidad de los datos y la tolerancia a fallos tanto en la capa de almacenamiento como en la de procesamiento. Como resultado, han surgido numerosas plataformas que proporcionan la infraestructura necesaria para crear aplicaciones de datos de streaming, incluidas Amazon Kinesis Streams, Amazon Kinesis Firehose, Apache Kafka, Apache Flume, Apache Spark Streaming y Apache Storm.


Amazon Web Services (AWS) proporciona varias opciones de trabajo con los datos de streaming. Puede utilizar los servicios de datos de streaming gestionados de Amazon Kinesis, o implementar y gestionar su propia solución de datos de streaming en la nube en Amazon EC2.

Amazon Kinesis es una plataforma que sirve para transmitir datos en AWS. Ofrece servicios potentes que facilitan la carga y el análisis de datos de streaming y le proporcionan la capacidad de crear aplicaciones de datos de streaming personalizadas para necesidades especiales. Ofrece dos servicios: Amazon Kinesis Firehose y Amazon Kinesis Streams.

Además, puede ejecutar otras plataformas de datos de streaming, como Apache Kafka, Apache Flume, Apache Spark Streaming, y Apache Storm, en Amazon EC2 y Amazon EMR.  

Amazon Kinesis Streams permite crear aplicaciones personalizadas en tiempo real que procesan o analizan datos de streaming para necesidades especiales. Puede recopilar y almacenar terabytes de datos cada hora constantemente de cientos de miles de fuentes. A continuación, puede crear aplicaciones que consuman los datos de Amazon Kinesis Streams para abastecer paneles de control en tiempo real, enviar alertas, implementar precios y publicidad dinámicos, y más. Amazon Kinesis Streams es compatible con el marco de procesamiento de transmisiones que elija, incluidos la biblioteca de clientes de Kinesis (KCL), Apache Storm y Apache Spark Streaming. Más información acerca de Amazon Kinesis Streams »

Amazon Kinesis Firehose es la forma más fácil de cargar los datos de streaming en AWS. Puede capturar y cargar automáticamente los datos de streaming en Amazon S3 y Amazon Redshift, habilitando así análisis casi en tiempo real con las herramientas de inteligencia empresarial existentes y los paneles de control que ya usa hoy en día. Le permite implementar un enfoque ELT y aprovechar las ventajas de los datos de streaming con rapidez. Más información acerca de Amazon Kinesis Firehose »


Puede instalar las plataformas de datos de streaming que elija en Amazon EC2 y Amazon EMR y crear sus propias capas de procesamiento y de almacenamiento de transmisiones. Al crear su propia solución de datos de streaming en Amazon EC2 y Amazon EMR, puede evitar las molestias del aprovisionamiento de infraestructura y obtener acceso a diversos marcos de procesamiento y almacenamiento de transmisiones. Las opciones para la capa de almacenamiento de datos de streaming incluyen Apache Kafka y Apache Flume. Las opciones para la capa de procesamiento incluyen Apache Spark Streaming y Apache Storm.