Amazon Kinesis Data Streams

您可以使用 Amazon Kinesis Data Streams 实时收集和处理大数据记录。可以创建称为 Kinesis Data Streams 应用程序的数据处理应用程序。典型 Kinesis Data Streams 应用程序将数据流 中的数据作为数据记录读取。这些应用程序可使用 Kinesis Client Library,并且可在 Amazon EC2 实例上运行。可以将处理后的记录发送到控制面板,使用这些记录生成警报、动态更改定价和广告战略或将数据发送给多种其他 AWS 服务。

Kinesis Data Streams 可以用来做什么?

您可以将 Kinesis Data Streams 用于快速而持续的数据引入和聚合。使用的数据类型可以包括 IT 基础设施日志数据、应用程序日志、社交媒体、市场数据源和 Web 点击流数据。由于数据引入和处理的响应时间是实时的,因此处理通常是轻量级的。

以下是使用 Kinesis Data Streams 的典型场景:

加速的日志和数据源引入和处理

您可以让创建者直接将数据推入流。例如,推送系统和应用程序日志,它们可在几秒内就绪,以用于处理。这可以防止因前端或应用程序服务器失败而造成日志数据丢失。Kinesis Data Streams 提供加速的数据源引入,因为您在提交数据以备引入之前,未在服务器上批处理数据。

实时指标和报告

您可以使用收集到 Kinesis Data Streams 中的数据进行实时的简单数据分析和报告。例如,您的数据处理应用程序可以处理系统和应用程序日志的指标和报告,因为数据将流入而不是等待接收批量数据。

实时数据分析

这可将并行处理的强大功能与实时数据的价值相结合。例如,实时处理网站点击流,然后使用多个并行运行的不同的 Kinesis Data Streams 应用程序来分析站点可用性参与度。

复杂流处理

可以创建 Kinesis Data Streams 应用程序和数据流的有向无环图 (DAG)。这通常会涉及将数据从多个 Kinesis Data Streams 应用程序放入其他流,以供其他 Kinesis Data Streams 应用程序进行下游处理。

使用 Kinesis Data Streams 的好处

虽然可使用 Kinesis Data Streams 解决各种流式处理数据问题,但其常见用途是实时聚合数据,然后将聚合数据加载到数据仓库或 map-reduce 群集。

将数据放入 Kinesis 数据流,以确保持久性和弹性。将记录放入流的时间与可检索记录的时间之间的延迟(put-to-get 延迟)通常不到 1 秒。换言之,在添加数据之后,Kinesis Data Streams 应用程序几乎立即可以开始使用流中的数据。Kinesis Data Streams 的托管服务方面可减轻您创建和运行数据引入管道的操作负担。可以创建流式处理 map-reduce– 类型应用程序。利用 Kinesis Data Streams 的弹性,可以扩大或缩小流,以便绝不会在数据记录过期前丢失它们。

多个 Kinesis Data Streams 应用程序可以使用流中的数据,以便多个操作(如存档和处理)可以并发且独立进行。例如,两个应用程序可读取同一流中的数据。第一个应用程序计算正在运行的聚合并更新 Amazon DynamoDB 表,第二个应用程序压缩数据并将数据存档至数据存储,例如 Amazon Simple Storage Service (Amazon S3)。然后,控制面板将读取带正在运行的聚合的 DynamoDB 表以获取实时报告(分钟级)。

Kinesis Client Library 支持容错使用流中的数据,并提供针对 Kinesis Data Streams 应用程序的扩展支持。

上一篇:android – 使用Ant构建已签名和未签名的版本


下一篇:Amazon Selling Partner API 开发笔记