简介 - AWS 上的流数据解决方案(使用 Amazon Kinesis)

简介

由于不断生成数据流的数据源的爆炸性增长,如今的企业以巨大的规模和极高的速度接收数据。无论是来自应用程序服务器的日志数据、来自网站和移动应用程序的点击流数据,还是来自物联网 (IoT) 设备的遥测数据,所包含的信息都可以帮助您了解客户、应用程序和产品目前正在做什么。

能够实时处理和分析此类数据对于实现如下目标至关重要:持续监控应用程序以确保长久的服务正常运行时间;实现促销优惠和产品建议个性化。实时和近实时处理还可以提高其他常见使用案例(如网站分析和机器学习)的准确性和可行性,因为它可以在几秒或几分钟内(而不是数小时或数天内)将数据提供给相关应用程序。

实时和近实时应用场景

您可以将流式传输数据服务用于实时和近实时应用,例如应用程序监控、欺诈侦测和直播排行榜。实时使用案例要求毫秒级的端到端延迟 - 从摄入到处理,直至将结果发送到目标数据存储和其他系统。例如,Netflix 使用 Amazon Kinesis Data Streams 监控其所有应用程序之间的通信,从而快速发现和解决问题,让客户享受到正常运行时间很长、可用性很高的服务。虽然最常用的使用案例是应用程序性能监控,但归属此类别的广告技术、游戏和 IoT 领域的实时应用越来越多。

常见的近实时使用案例包括针对数据科学和机器学习 (ML) 的数据存储进行分析。您可以使用流式传输数据解决方案将实时数据持续加载到数据湖中。然后,当有新数据可用时,您可以更频繁地更新机器学习 (ML) 模型,确保结果的准确性和可靠性。例如,Zillow 使用 Kinesis Data Streams 采集公有记录数据和多重挂牌服务系统 (MLS) 报价,然后近实时地向房屋买卖双方提供最新的住宅估价信息。ZipRecruiter 将 Amazon MSK 用于其事件日志记录管道,该管道是一个重要的基础设施组件,每天从 ZipRecruiter 求职平台收集、存储并持续处理超过六十亿个事件。

批处理和流式处理之间的区别

与传统上用于批处理分析的工具相比,您需要一套不同的工具来收集、准备和处理实时流式传输数据。使用传统的分析,您收集数据,定期将其加载到数据库中,然后在数小时、数天或数周后对其进行分析。分析实时数据需要采用不同的方法。流式处理应用程序实时、连续处理数据,甚至在存储数据之前也是如此。流式传输数据可能以极快的速度进入,数据量可能随时上下变化。流式数据处理平台必须能够处理传入数据的速度和可变性,并在数据到达时对其进行处理,通常每小时处理数百万到数亿个事件。