Introducción - Soluciones de datos de streaming en AWS con Amazon Kinesis

Introducción

Las empresas actuales reciben datos a gran escala y velocidad debido al crecimiento explosivo de los orígenes de datos que generan secuencias de datos de forma continua. Ya sean datos de registro de los servidores de aplicaciones, datos de secuencias de clics de sitios web y aplicaciones móviles o datos de telemetría de dispositivos del Internet de las cosas (IoT), todo contiene información que puede ayudarle a obtener información sobre lo que sus clientes, aplicaciones y productos están haciendo en ese momento.

Tener la capacidad de procesar y analizar estos datos en tiempo real es esencial para realizar acciones como supervisar continuamente sus aplicaciones para garantizar un elevado tiempo de actividad del servicio y personalizar las ofertas promocionales y las recomendaciones de productos. El procesamiento en tiempo real y casi real también puede convertir otros casos de uso comunes, como el análisis de sitios web y el machine learning, en más precisos y procesables al hacer que los datos estén disponibles para estas aplicaciones en segundos o minutos en lugar de tardar horas o días.

Escenarios de aplicaciones en tiempo real y casi real

Puede los servicios de datos de streaming para aplicaciones de tiempo real y casi real, como supervisión de aplicaciones, detección de fraude y tablas de clasificaciones en directo. Los casos de uso en tiempo real requieren latencias de milisegundos de extremo a extremo, desde la ingesta hasta el procesamiento, pasando por el envío de los resultados a los almacenes de datos de destino y otros sistemas. Por ejemplo, Netflix usa Amazon Kinesis Data Streams para controlar las comunicaciones entre todas sus aplicaciones con el objetivo de detectar y corregir errores rápidamente, lo que garantiza un muy buen nivel de tiempo de actividad y disponibilidad a sus clientes. Aunque el caso de uso más aplicable habitualmente es la supervisión del rendimiento de las aplicaciones, hay un número cada vez mayor de aplicaciones en tiempo real en tecnología publicitaria, juegos e IoT que se incluyen en esta categoría.

Los casos de uso habituales casi en tiempo real incluyen el análisis de almacenes de datos para la ciencia de datos y el machine learning (ML). Puede utilizar soluciones de datos de streaming para cargar continuamente datos en tiempo real en sus lagos de datos. A continuación, puede actualizar modelos de machine learning con mayor frecuencia a medida que se pongan a disposición nuevos datos, lo que garantiza la precisión y la fiabilidad de los resultados. Por ejemplo, Zillow utiliza Kinesis Data Streams para recopilar datos de registros públicos y listas de varios servicios de listados (MLS), y luego proporcionar a los compradores y vendedores de propiedades las estimaciones más actualizadas del valor de la vivienda casi en tiempo real. ZipRecruiter usa Amazon MSK para sus canalizaciones de registros de eventos. Estos son los componentes críticos de la infraestructura, que recopilan, almacenan y procesan continuamente más de 6 000 000 000 de eventos por día desde el centro de empleo de ZipRecruiter.

Diferencias entre procesamiento por lotes y secuencias

Necesita un conjunto de herramientas distinto para recopilar, preparar y procesar datos de streaming en tiempo real en vez de las herramientas que ha utilizado tradicionalmente para el análisis por lotes. Con el análisis tradicional, se recopilan los datos, se cargan periódicamente en una base de datos y se analizan horas, días o semanas después. El análisis de datos en tiempo real requiere un enfoque distinto. Las aplicaciones de procesamiento de secuencias procesan los datos de forma continua en tiempo real, incluso antes de almacenarlos. Los datos de streaming pueden llegar a un ritmo vertiginoso y los volúmenes de datos pueden aumentarse o reducirse en cualquier momento. Las plataformas de procesamiento de datos de secuencias deben poder gestionar la velocidad y la variabilidad de los datos entrantes y procesarlos a medida que llegan, a menudo de millones a cientos de millones de eventos por hora.