数据流是持续不断的数据传输,且常常数据量巨大。数据流最重要的特性之一是对时间的敏感性。因此,随着时间推移,数据流中的内容可能会变得不那么相关。
这意味着企业可以通过对数据流进行实时分析与洞察而获得巨大价值。这正是专业的数据流架构大显身手之处。其中最受欢迎且功能强大的数据流方案之一便是 AWS Kinesis。
本文将介绍 AWS Kinesis,并重点探讨 Kinesis 旗下的两项核心服务:Kinesis Data Streams 和 Kinesis Video Streams。文章最后,我们还将比较两种数据流服务的主要差异:AWS Kinesis 与 Apache Kafka(以及 Amazon MSK)。
如果您是 AWS 新手,欢迎查看我们的AWS 入门课程,带您理解当今领先云服务商的基本概念。
什么是 AWS Kinesis?
Amazon Kinesis 于 2013 年推出,以响应市场对实时数据摄取与分析的转向。
不过,AWS 更进一步:Amazon Kinesis 能以全托管、可扩展、云原生的方式处理海量数据流。
此后几年,AWS 持续扩展 Amazon Kinesis 旗下的服务。2015 年 10 月发布 Amazon Kinesis Data Firehose,随后在 2016 年 8 月推出 Amazon Kinesis Data Analytics。
最初,AWS 仅提供 Kinesis Data Streams 服务,用于实时处理与分析海量数据。直到 2017 年,AWS 才推出 Kinesis Video Streams,用于采集、处理与存储视频流。
多年来,Amazon Kinesis 不断演进。发展至今,仅保留两项核心服务:Kinesis Data Streams 与 Kinesis Video Streams。我们将在本节稍后更详细地讨论这些变化。

来源: AWS
Amazon Kinesis 用于什么?
Amazon Kinesis 专为实时数据流而设计。
这意味着,任何希望利用海量实时(或准实时)数据的组织,都能从 Amazon Kinesis 中获益良多。
以下是 Amazon Kinesis 最适合的一些使用场景:
- 从一个或多个来源流式传输日志与事件数据。 可实时摄取来自应用、服务器与设备的数据。
- 从启用摄像头的设备采集视频流。 如家庭与企业安防系统、红绿灯摄像头等。
- 对流式数据进行实时分析。 例如欺诈检测等使用场景对时间高度敏感,依赖可靠的数据流架构。

Amazon Kinesis 视频流示例用例(来源: AWS)
Amazon Kinesis 服务的最新变化
为响应用户反馈,AWS 近期对其服务做出了一些调整。
Amazon Kinesis Data Analytics > Amazon Managed Service for Apache Flink
Amazon Kinesis Data Analytics 于 2023 年 8 月 30 日更名为 Amazon Managed Service for Apache Flink(MSF)。
此外,对 Amazon Kinesis Data Analytics for SQL 应用的支持将在未来停止。客户需要将其基于 SQL 的应用迁移到 MSF。
MSF 是一项全托管、无服务器的服务,可使用 Apache Flink 构建与运行实时流应用。MSF 支持 SQL 以及其他编程语言,如 Java 和 Scala。
Amazon Kinesis Data Firehose > Amazon Data Firehose
2024 年 2 月 9 日,AWS 宣布将 Amazon Kinesis Data Firehose 更名为 Amazon Data Firehose。
AWS 表示,这一更名旨在体现 Amazon Data Firehose 的数据来源与连接器的增长。除 Amazon Kinesis Data Streams 外,还新增了对 Amazon MSK 以及 40 多种其他 AWS 源与目标连接器的集成支持。
AWS Kinesis Data Streams
AWS Kinesis Data Streams 是 Amazon Kinesis 旗下的旗舰服务。
本节我们将探讨该服务及其最适合的使用场景。
什么是 Kinesis Data Streams?
Kinesis Data Streams 可持续摄取海量数据(速度可达每秒数 GB),以支持实时分析类用例。
除与其他 AWS 服务的全面集成外,以下是 Kinesis Data Streams 的一些亮点特性:
- 其为无服务器,无需预置或管理服务器,降低启动数据流的前期成本。
- 在 Kinesis 中,数据采集与数据处理相分离。这种分离使应用更易适应信息的快速变化。
- Kinesis Data Streams 可在毫秒级捕获海量数据,是极佳的低延迟解决方案。
- 您可根据需求选择按需与预置容量模式。
- Kinesis Data Streams 兼具安全与合规。您的数据可在静态状态下加密与保护,确保最高安全性。
Amazon Kinesis Data Streams 由三个关键组件构成:分片(shard)、生产者与消费者。我们以电商网站的流式分析系统为例来说明。
分片
分片是 Kinesis 中决定一次可处理数据量的单元。
例如,如果电商网站每秒处理 100 笔交易,可能需要多个分片来平稳处理入站数据。每个分片每秒最多可处理 1 MB 的入站数据,因此当流量激增时,增加分片有助于确保高效处理。
生产者
生产者是任何向 Kinesis 流发送数据的系统。
例如,电商网站在用户每次将商品加入购物车、完成购买或留下评价时都会生成实时日志。每个事件都会作为一条数据记录发送到 Kinesis。
消费者
消费者是读取并处理 Kinesis 流中数据的应用或系统。例如:
- 实时分析入站交易、标记可疑活动的欺诈检测系统。
- 为门店管理者实时更新销售指标的仪表盘。
- 基于用户近期行为推荐商品的推荐引擎。
让我们通过一个示例看看它们如何交互:
- 顾客将商品加入购物车 → 事件发送至Kinesis(生产者)
- 事件进入一个分片(取决于流量负载)
- 一款消费者应用读取该事件 → 更新库存系统、触发 AI 推荐模型,或标记潜在欺诈风险
Kinesis Data Streams 的用途是什么?
Kinesis 数据流最适合需要实时快速处理数据的应用。
例如,假设您有一款应用或设备会生成日志或数据馈送。您可以使用 Kinesis Data Streams 来摄取这股数据流,并对其进行一定的处理或转换,例如计算某些实时指标或分析。随后,您可以将处理后的数据推送到数据存储,供后续使用。
这只是 Kinesis Data Streams 实用性的一个常见示例。
AWS Kinesis Video Streams
AWS Video Streams 是较新的 Amazon Kinesis 服务,在多种媒体数据场景中大有可为。
本节我们将探讨该服务,并介绍其最适合的应用。
什么是 Kinesis Video Streams?
Kinesis Video Streams 允许您从连接设备中摄取大量经时间编码的媒体数据。
更具体地说,经时间编码的数据是一类媒体数据,其记录彼此以时间序列相连。视频与音频都是时间编码数据的示例,因为其中的每一帧或序列都与前后帧相关。

Amazon Kinesis 视频流(来源: AWS)
需要注意的是,Kinesis Video Streams 仅负责媒体数据的摄取与存储。处理与分析需在其他服务中进行。例如,视频分析可使用 Amazon Rekognition Video,机器学习应用可使用 Amazon SageMaker。
查看我们的Amazon SageMaker 完整教程,开始在 AWS 中构建机器学习应用。
Kinesis Video Streams 的用途是什么?
通过 Kinesis Video Streams 连接并向 AWS 传输媒体十分容易且安全。Amazon Kinesis 提供了专用的 SDK 与实时 API。
这意味着,您可以快速、轻松地使用 Amazon Kinesis Video Streams 构建媒体流应用。
视频流最常见的用途之一是构建支持计算机视觉的实时机器学习应用,适用于安防监控、智慧家庭、城市应急响应等广泛领域。
AWS Kinesis 定价
AWS 的一大优势在于按需计费模式。大多数(如果不是全部)AWS 服务都遵循此模式,AWS Kinesis 也不例外。
无需前期成本或最低费用。您只需为实际使用的资源付费。
下面我们来看看 AWS Kinesis 的定价机制,以及如何通过一些最佳实践来优化成本。
定价概览
AWS Kinesis 旗下的两项核心服务,Kinesis Data Streams 与 Kinesis Video Streams,会根据您的配置提供不同的费用与计费选项。
Kinesis Data Streams 有两种容量模式,各自成本不同。简要如下:
- 按需:根据您摄取与检索的数据量计费,并对您在 AWS 账户中创建的每个数据流按小时收费。
- 预置:使用预置容量模式时,您需指定应用所需的分片数量,并按每个分片的小时费率计费。
按需容量模式更灵活、简单,适合刚开始使用 Kinesis Data Streams 的阶段。
不过,一旦您的应用达到流量更可预测、易于预估的阶段,预置容量模式通常更具成本效益。
Kinesis Video Streams 提供灵活的按需计费方案,基于三项因素:
- 您摄取的数据量(GB)。
- 您消费的数据量(GB)。
- 您每月存储的数据量(GB)。
成本优化技巧与最佳实践
Kinesis Data Streams 和 Kinesis Video Streams 均不在 AWS 免费套餐中。这意味着您在 AWS 中创建任一流后即会产生费用。
不过,在为您的应用配置 AWS Kinesis 时,有多条最佳实践与技巧可帮助您降低成本。
为优化成本,请遵循以下三条要点:
- 一旦流量变得可预测,尽快切换到预置容量模式。按需模式虽免去了监控与管理分片的麻烦,但成本可能更高。
- 您可以根据流量模式在按需与预置容量模式之间灵活切换。例如,若预计某些时段会出现峰值,可切换至按需模式;当流量更稳定时再切回预置模式。但需注意,您在24 小时内仅可切换两次。
- 尽早设置数据保留策略。Kinesis Data Streams 并非为长期存储设计。超过 24 小时的数据会产生存储费用(前 24 小时存储免费)。
AWS Kinesis 与 Kafka
Amazon Managed Streaming for Apache Kafka(Amazon MSK)是 AWS 提供的另一种流行数据流服务。
您可以在另一篇文章中查看我们的Amazon MSK 新手完整指南,以及我们的Kafka 指南。
比较 Amazon MSK 与 Kinesis 时,二者有大量重叠。两者均为可扩展、安全、高可用的数据流应用解决方案。
选择使用哪项服务,主要取决于您的偏好、需求与现有基础设施。
如果您已在使用 Apache Kafka,迁移至 Amazon MSK 这样的全托管云方案可能更有益。同样地,如果团队熟悉 Apache Kafka,那么相较 Amazon Kinesis,Amazon MSK 或许更合适。
另一方面,若您尚无现成的数据流基础设施,Amazon Kinesis 可能更适合入门、也更容易上手。
总结
实时数据分析正日益受到各行各业的重视。要实现这一点,就需要搭建一套出色的数据流系统,能够无延迟、无停机地处理海量数据。
AWS 早在 2013 年便洞察到这一增长需求,并持续打磨其最优秀的数据流解决方案之一:Amazon Kinesis。如今,Amazon Kinesis 已成为以惊人速度摄取与处理数据流的业界标杆方案。
如果您是 AWS 新手,不妨从我们的入门级 AWS 课程开始,进一步了解AWS 及其服务。如果您已准备好开启使用 AWS 等云服务的职业生涯,请查阅我们关于AWS 认证及如何选择最契合目标的认证的文章。随后,迈出下一步,做好面试准备并练习最常见的 AWS 面试题。
数据流是持续不断的数据传输,且常常数据量巨大。数据流最重要的特性之一是对时间的敏感性。因此,随着时间推移,数据流中的内容可能会变得不那么相关。
这意味着企业可以通过对数据流进行实时分析与洞察而获得巨大价值。这正是专业的数据流架构大显身手之处。其中最受欢迎且功能强大的数据流方案之一便是 AWS Kinesis。
本文将介绍 AWS Kinesis,并重点探讨 Kinesis 旗下的两项核心服务:Kinesis Data Streams 和 Kinesis Video Streams。文章最后,我们还将比较两种数据流服务的主要差异:AWS Kinesis 与 Apache Kafka(以及 Amazon MSK)。
如果您是 AWS 新手,欢迎查看我们的AWS 入门课程,带您理解当今领先云服务商的基本概念。
什么是 AWS Kinesis?
Amazon Kinesis 于 2013 年推出,以响应市场对实时数据摄取与分析的转向。
不过,AWS 更进一步:Amazon Kinesis 能以全托管、可扩展、云原生的方式处理海量数据流。
此后几年,AWS 持续扩展 Amazon Kinesis 旗下的服务。2015 年 10 月发布 Amazon Kinesis Data Firehose,随后在 2016 年 8 月推出 Amazon Kinesis Data Analytics。
最初,AWS 仅提供 Kinesis Data Streams 服务,用于实时处理与分析海量数据。直到 2017 年,AWS 才推出 Kinesis Video Streams,用于采集、处理与存储视频流。
多年来,Amazon Kinesis 不断演进。发展至今,仅保留两项核心服务:Kinesis Data Streams 与 Kinesis Video Streams。我们将在本节稍后更详细地讨论这些变化。
来源: AWS
Amazon Kinesis 用于什么?
Amazon Kinesis 专为实时数据流而设计。
这意味着,任何希望利用海量实时(或准实时)数据的组织,都能从 Amazon Kinesis 中获益良多。
以下是 Amazon Kinesis 最适合的一些使用场景:
Amazon Kinesis 视频流示例用例(来源: AWS)
Amazon Kinesis 服务的最新变化
为响应用户反馈,AWS 近期对其服务做出了一些调整。
Amazon Kinesis Data Analytics > Amazon Managed Service for Apache Flink
Amazon Kinesis Data Analytics 于 2023 年 8 月 30 日更名为 Amazon Managed Service for Apache Flink(MSF)。
此外,对 Amazon Kinesis Data Analytics for SQL 应用的支持将在未来停止。客户需要将其基于 SQL 的应用迁移到 MSF。
MSF 是一项全托管、无服务器的服务,可使用 Apache Flink 构建与运行实时流应用。MSF 支持 SQL 以及其他编程语言,如 Java 和 Scala。
Amazon Kinesis Data Firehose > Amazon Data Firehose
2024 年 2 月 9 日,AWS 宣布将 Amazon Kinesis Data Firehose 更名为 Amazon Data Firehose。
AWS 表示,这一更名旨在体现 Amazon Data Firehose 的数据来源与连接器的增长。除 Amazon Kinesis Data Streams 外,还新增了对 Amazon MSK 以及 40 多种其他 AWS 源与目标连接器的集成支持。
AWS Kinesis Data Streams
AWS Kinesis Data Streams 是 Amazon Kinesis 旗下的旗舰服务。
本节我们将探讨该服务及其最适合的使用场景。
什么是 Kinesis Data Streams?
Kinesis Data Streams 可持续摄取海量数据(速度可达每秒数 GB),以支持实时分析类用例。
除与其他 AWS 服务的全面集成外,以下是 Kinesis Data Streams 的一些亮点特性:
Amazon Kinesis Data Streams 由三个关键组件构成:分片(shard)、生产者与消费者。我们以电商网站的流式分析系统为例来说明。
分片
分片是 Kinesis 中决定一次可处理数据量的单元。
例如,如果电商网站每秒处理 100 笔交易,可能需要多个分片来平稳处理入站数据。每个分片每秒最多可处理 1 MB 的入站数据,因此当流量激增时,增加分片有助于确保高效处理。
生产者
生产者是任何向 Kinesis 流发送数据的系统。
例如,电商网站在用户每次将商品加入购物车、完成购买或留下评价时都会生成实时日志。每个事件都会作为一条数据记录发送到 Kinesis。
消费者
消费者是读取并处理 Kinesis 流中数据的应用或系统。例如:
让我们通过一个示例看看它们如何交互:
Kinesis Data Streams 的用途是什么?
Kinesis 数据流最适合需要实时快速处理数据的应用。
例如,假设您有一款应用或设备会生成日志或数据馈送。您可以使用 Kinesis Data Streams 来摄取这股数据流,并对其进行一定的处理或转换,例如计算某些实时指标或分析。随后,您可以将处理后的数据推送到数据存储,供后续使用。
这只是 Kinesis Data Streams 实用性的一个常见示例。
AWS Kinesis Video Streams
AWS Video Streams 是较新的 Amazon Kinesis 服务,在多种媒体数据场景中大有可为。
本节我们将探讨该服务,并介绍其最适合的应用。
什么是 Kinesis Video Streams?
Kinesis Video Streams 允许您从连接设备中摄取大量经时间编码的媒体数据。
更具体地说,经时间编码的数据是一类媒体数据,其记录彼此以时间序列相连。视频与音频都是时间编码数据的示例,因为其中的每一帧或序列都与前后帧相关。
Amazon Kinesis 视频流(来源: AWS)
需要注意的是,Kinesis Video Streams 仅负责媒体数据的摄取与存储。处理与分析需在其他服务中进行。例如,视频分析可使用 Amazon Rekognition Video,机器学习应用可使用 Amazon SageMaker。
查看我们的Amazon SageMaker 完整教程,开始在 AWS 中构建机器学习应用。
Kinesis Video Streams 的用途是什么?
通过 Kinesis Video Streams 连接并向 AWS 传输媒体十分容易且安全。Amazon Kinesis 提供了专用的 SDK 与实时 API。
这意味着,您可以快速、轻松地使用 Amazon Kinesis Video Streams 构建媒体流应用。
视频流最常见的用途之一是构建支持计算机视觉的实时机器学习应用,适用于安防监控、智慧家庭、城市应急响应等广泛领域。
AWS Kinesis 定价
AWS 的一大优势在于按需计费模式。大多数(如果不是全部)AWS 服务都遵循此模式,AWS Kinesis 也不例外。
无需前期成本或最低费用。您只需为实际使用的资源付费。
下面我们来看看 AWS Kinesis 的定价机制,以及如何通过一些最佳实践来优化成本。
定价概览
AWS Kinesis 旗下的两项核心服务,Kinesis Data Streams 与 Kinesis Video Streams,会根据您的配置提供不同的费用与计费选项。
Kinesis Data Streams 有两种容量模式,各自成本不同。简要如下:
按需容量模式更灵活、简单,适合刚开始使用 Kinesis Data Streams 的阶段。
不过,一旦您的应用达到流量更可预测、易于预估的阶段,预置容量模式通常更具成本效益。
Kinesis Video Streams 提供灵活的按需计费方案,基于三项因素:
成本优化技巧与最佳实践
Kinesis Data Streams 和 Kinesis Video Streams 均不在 AWS 免费套餐中。这意味着您在 AWS 中创建任一流后即会产生费用。
不过,在为您的应用配置 AWS Kinesis 时,有多条最佳实践与技巧可帮助您降低成本。
为优化成本,请遵循以下三条要点:
AWS Kinesis 与 Kafka
Amazon Managed Streaming for Apache Kafka(Amazon MSK)是 AWS 提供的另一种流行数据流服务。
您可以在另一篇文章中查看我们的Amazon MSK 新手完整指南,以及我们的Kafka 指南。
比较 Amazon MSK 与 Kinesis 时,二者有大量重叠。两者均为可扩展、安全、高可用的数据流应用解决方案。
选择使用哪项服务,主要取决于您的偏好、需求与现有基础设施。
如果您已在使用 Apache Kafka,迁移至 Amazon MSK 这样的全托管云方案可能更有益。同样地,如果团队熟悉 Apache Kafka,那么相较 Amazon Kinesis,Amazon MSK 或许更合适。
另一方面,若您尚无现成的数据流基础设施,Amazon Kinesis 可能更适合入门、也更容易上手。
总结
实时数据分析正日益受到各行各业的重视。要实现这一点,就需要搭建一套出色的数据流系统,能够无延迟、无停机地处理海量数据。
AWS 早在 2013 年便洞察到这一增长需求,并持续打磨其最优秀的数据流解决方案之一:Amazon Kinesis。如今,Amazon Kinesis 已成为以惊人速度摄取与处理数据流的业界标杆方案。
如果您是 AWS 新手,不妨从我们的入门级 AWS 课程开始,进一步了解AWS 及其服务。如果您已准备好开启使用 AWS 等云服务的职业生涯,请查阅我们关于AWS 认证及如何选择最契合目标的认证的文章。随后,迈出下一步,做好面试准备并练习最常见的 AWS 面试题。