¿Qué son los datos de streaming?

Los datos de streaming son datos que se generan continuamente por miles de orígenes de datos, que normalmente envían los registros de datos simultáneamente, y en tamaños pequeños (del orden de 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 en comercio electrónico, 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 hacer un seguimiento de los cambios en la opinión del público sobre sus marcas y productos mediante el análisis continuo de las transmisiones de las redes sociales, y responder de manera oportuna a medida que sea necesario.

Ventajas de los datos de streaming

El procesamiento de datos de streaming resulta beneficioso en la mayoría de las situaciones en las que se generan datos nuevos y dinámicos de forma continua. 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 complejos algoritmos de procesamiento de transmisiones y eventos, como intervalos de tiempo decrecientes para encontrar las películas populares más recientes, lo que enriquece aún más la información.

Ejemplos de los datos de streaming

  • 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 y ofrece incentivos y experiencias dinámicas para involucrar a los jugadores.

Comparación entre el procesamiento por lotes y el procesamiento de transmisiones

Antes de abordar el tema de los datos de streaming, es preciso comparar y contrastar el procesamiento de transmisiones y el procesamiento por lotes. El procesamiento por lotes se puede utilizar para calcular consultas arbitrarias en diferentes conjuntos de datos. Por lo general, calcula los resultados que se derivan de todos los datos que abarca y permite un análisis profundo de los grandes conjuntos de datos. Los sistemas basados en MapReduce, como Amazon EMR, son ejemplos de plataformas compatibles con los trabajos por lotes. Por el contrario, el procesamiento de transmisiones requiere incorporar una secuencia de datos y actualizar de forma incremental las métricas, los informes y las estadísticas de resumen en respuesta a cada registro de datos que llega. Es más adecuado para las funciones de monitoreo y respuesta en tiempo real.


  Procesamiento por lotes Procesamiento de transmisiones
Alcance de los datos Consultas o procesamientos de todos o la mayoría de los datos del conjunto de datos. Consultas o procesamientos de datos dentro de un período de tiempo continuo, o solo en el registro de datos más reciente.
Tamaño de los datos
Lotes grandes de datos.
Registros individuales o microlotes formados por pocos registros.
Rendimiento Latencias de minutos a 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 y, a continuación, los guarda en un almacén como S3, donde se pueden transformar y cargar para una variedad de casos de uso de procesamiento de lotes por lotes.

Desafíos del trabajo con los datos de streaming

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 muchas plataformas que proporcionan la infraestructura necesaria para crear aplicaciones de datos de streaming, como Amazon Kinesis Data Streams, Amazon Kinesis Data Firehose, Amazon Managed Streaming for Apache Kafka (Amazon MSK), Apache Flume, Apache Spark Streaming y Apache Storm.

Trabajo con los datos de streaming en AWS

Amazon Web Services (AWS) proporciona varias opciones de trabajo con los datos de streaming. Puede aprovechar los servicios administrados de datos de streaming que ofrece Amazon Kinesis, así como implementar y administrar una solución propia de datos de streaming en la nube en Amazon EC2.

Amazon Kinesis es una plataforma de datos de streaming en AWS que ofrece servicios eficaces para facilitar la carga y el análisis de los datos de streaming. Además, permite crear aplicaciones de datos de streaming personalizadas para necesidades especializadas. Ofrece tres servicios: Amazon Kinesis Data Firehose, Amazon Kinesis Data Streams y Amazon Managed Streaming for Apache Kafka (Amazon MSK).

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

Amazon Kinesis Data Streams

Amazon Kinesis Data Streams permite crear aplicaciones personalizadas propias que procesan o analizan los datos de streaming para necesidades especializadas. Puede recopilar y almacenar continuamente terabytes de datos por hora procedentes de cientos de miles de orígenes. Posteriormente, puede crear aplicaciones que consuman los datos de Amazon Kinesis Data Streams para producir paneles en tiempo real, generar alertas, implementar un sistema dinámico de fijación de precios y publicidad, etc. Amazon Kinesis Data Streams es compatible con el marco de procesamiento de transmisiones que elija, como Kinesis Client Library (KCL), Apache Storm y Apache Spark Streaming.

Más información sobre Amazon Kinesis Data Streams »

Amazon Kinesis Data Firehose

Amazon Kinesis Data Firehose es la forma más fácil de cargar datos de streaming en AWS. Puede capturar y cargar automáticamente los datos de streaming en Amazon S3 y Amazon Redshift, lo que permite realizar análisis casi en tiempo real con las herramientas de inteligencia empresarial existentes y los paneles que ya utiliza actualmente. Permite implementar rápidamente un enfoque ELT y obtener beneficios de los datos de streaming rápidamente.

Más información sobre Amazon Kinesis Data Firehose »

Amazon Managed Streaming for Apache Kafka (Amazon MSK)

Amazon MSK es un servicio completamente administrado que facilita la creación y ejecución de aplicaciones que utilizan Apache Kafka para procesar los datos de streaming. Apache Kafka es una plataforma de código abierto para la creación de canalizaciones y aplicaciones de datos de streaming en tiempo real. Con Amazon MSK, puede utilizar las API nativas de Apache Kafka para poblar los lagos de datos, transmitir los cambios hacia y desde las bases de datos y hacer funcionar las aplicaciones de machine learning y análisis.

Más información sobre Amazon MSK »

Otras soluciones de streaming en Amazon EC2

Puede instalar las plataformas de datos de streaming que elija en Amazon EC2 y Amazon EMR, así como crear sus propias capas de almacenamiento y procesamiento 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 Amazon MSK y Apache Flume. Las opciones para la capa de procesamiento de transmisiones incluyen Apache Spark Streaming y Apache Storm.

Siguientes pasos

Regístrese para obtener la capa gratuita de Amazon
Regístrese para obtener una cuenta gratuita

Obtenga acceso instantáneo a la capa gratuita de AWS. 

Regístrese 
Comience a crear en la consola de Amazon Kinesis
Comience a crear en la consola

Comience a crear con Amazon Kinesis en la consola de administración de AWS.

Iniciar sesión