Amazon Kinesis Data Streams 术语和概念

Kinesis Data Streams 高级别架构

下图演示 Kinesis Data Streams 的高级别架构。创建器会持续将数据推送到 Kinesis Data Streams,并且使用者 可实时处理数据。使用者(如在 Amazon EC2 上运行的自定义应用程序或 Amazon Kinesis Data Firehose 传输流)可以使用 Amazon DynamoDB、Amazon Redshift 或 Amazon S3 等 AWS 服务存储其结果。

Kinesis Data Streams 术语

Kinesis Data Stream

Kinesis data stream 是一组分片。每个分片都有一系列数据记录。每个数据记录都具有一个由 Kinesis Data Streams 分配的序列号

数据记录

数据记录 是存储在 Kinesis data stream中的数据单位。数据记录由序列号分区键和数据 Blob 组成,后者是不可变的字节序列。Kinesis Data Streams 不以任何方式检查、解释或更改 Blob 中的数据。数据 Blob 可以是 最多 1 MB。

保留周期

保留期 是数据记录在添加到流中后可供访问的时间长度。在创建之后,流的保留期设置为默认值 24 小时。您可以使用 IncreaseStreamRetentionPeriod 操作将保留期增加到最高 168 小时(7 天),使用 DecreaseStreamRetentionPeriod 操作可将保留期减少到最短 24 小时。对于保留期设置为 24 小时以上的流,将收取额外费用。有关更多信息,请参阅Amazon Kinesis Data Streams 定价

创建者

创建器将记录放入 Amazon Kinesis Data Streams 中。例如,发送日志数据到流的 Web 服务器是创建器。

使用者

使用者 从 Amazon Kinesis Data Streams 获取记录并进行处理。这些使用者称为 Amazon Kinesis Data Streams Application

Amazon Kinesis Data Streams Application

Amazon Kinesis Data Streams application 是通常在 EC2 实例队列上运行的流的使用者。

可以开发的使用者有两种:共享扇出功能使用者和增强型扇出功能使用者。要了解它们之间的区别,以及了解如何创建每种使用者,请参阅读取 Amazon Kinesis Data Streams 中的数据

Kinesis Data Streams 应用程序的输出可能是另一个流的输入,这使您能够创建实时处理数据的复杂拓扑。应用程序也可将数据发送到各种其他 AWS 服务。一个流可以有多个应用程序,每个应用程序可同时单独使用流中的数据。

分区

分片 是流中数据记录的唯一标识序列。一个流由一个或多个分片组成,每个分片提供一个固定的容量单位。每个分片均可支持 最多 每秒 5 次交易 可用于读取,最多可达的最大总数据读取速率为 每秒 2 MB 和 最多 每秒 1000 条记录 可用于写入,最多可达的最大总数据写入速率为 每秒 1 MB (包括分区键)。流的数据容量是您为流指定的分片数的函数。流的总容量是其分片容量的总和。

如果数据速率增加,您可以增加或减少分配给流的分片数量。

分区键

分区键 用于按分片对流中的数据进行分组。Kinesis Data Streams 将属于一个流的数据记录隔离到多个分片中。它使用与每个数据记录关联的分区键确定指定数据记录属于哪个分片。分区键是最大长度限制为 256 个字节的 Unicode 字符串。MD5 哈希函数用于将分区键映射到 128 位整数值并将关联的数据记录映射到分片。当应用程序将数据放入流中时,它必须指定一个分区键。

序列号

每个数据记录都有一个序列号,此序列号对于其分片中的每个密钥是唯一的。在您使用 client.putRecords 或 client.putRecord 写入流之后,Kinesis Data Streams 将分配序列号。同一分区键的序列号通常会随时间推移增加。写入请求之间的时间段越长,序列号越大。

注意

序列号不能用作相同流中的数据集的索引。为了在逻辑上分隔数据集,请使用分区键或者为每个数据集创建单独的流。

Kinesis Client Library

Kinesis Client Library 将编译成应用程序,从而支持以容错方式使用流中的数据。Kinesis Client Library 确保每个分片有一个用于运行和处理它的记录处理器。库还可以简化流中的数据读取。Kinesis Client Library 使用 Amazon DynamoDB 表存储控制数据。它会为每个正在处理数据的应用程序创建一个表。

Kinesis Client Library 有两个主要版本。使用哪个版本取决于要创建的使用者的类型。有关更多信息,请参阅 读取 Amazon Kinesis Data Streams 中的数据

应用程序名称

Amazon Kinesis Data Streams application 的名称标识应用程序。每个应用程序必须具有一个唯一名称,此名称的范围限定于应用程序使用的 AWS 账户和区域。此名称用作 Amazon DynamoDB 中的控制表名称和 Amazon CloudWatch 指标的命名空间。

服务器端加密

当创建器将敏感数据输入流时,Amazon Kinesis Data Streams 可以自动加密这些数据。Kinesis Data Streams 使用 AWS KMS 主密钥进行加密。有关更多信息,请参阅Amazon Kinesis Data Streams 中的数据保护

原文地址:https://www.cnblogs.com/cloudrivers/p/11619325.html

时间: 2024-07-29 00:53:28

Amazon Kinesis Data Streams 术语和概念的相关文章

读取 Amazon Kinesis Data Streams 中的数据

使用者 是一种处理 Kinesis 数据流中的所有数据的应用程序.当使用者使用增强型扇出功能 时,它会获取其自己的 2 MiB/秒的读取吞吐量配额,从而允许多个使用者并行读取相同流中的数据,而不必与其他使用者争用读取吞吐量.默认情况下,流中的每个分片均提供 2 MiB/秒的读取吞吐量.此吞吐量跨正在从某给定分片进行读取的所有使用器获取分片.换言之,每个分片的默认 2 MiB/秒的吞吐量是固定的,即使有多个使用器正在从分片中进行读取. 特性 没有增强型扇出功能的未注册使用者 具有增强型扇出功能的注

Kinesis Data Streams 的服务器端加密

服务器端加密是 Amazon Kinesis Data Streams 中的一项功能,此功能在数据成为静态数据之前使用您指定的 AWS KMS 客户主密钥 (CMK) 自动对数据进行加密.数据在写入 Kinesis 流存储层之前加密,并在从存储检索到之后进行解密.因此,在 Kinesis Data Streams 服务中对数据进行静态加密.这样,您就可以满足严格的监管要求并增强您数据的安全性. 采用服务器端加密时,您的 Kinesis 流创建者和使用者不需要管理主密钥或加密操作.您的数据在进入和

Amazon Kinesis Data Firehose

Amazon Kinesis Data Firehose 是一个完全托管的服务,用于将实时流数据传输到目标,例如,Amazon Simple Storage Service (Amazon S3).Amazon Redshift.Amazon Elasticsearch Service (Amazon ES) 和 Splunk.Kinesis Data Firehose 与 Kinesis Data Streams.Kinesis Video Streams 和 Amazon Kinesis D

Amazon Kinesis Data Firehose 数据转换

Kinesis Data Firehose 可以调用您的 Lambda 函数转换传入的源数据并将转换后的数据传输给目标.当您创建传输流时,可以启用 Kinesis Data Firehose 数据转换. 数据转换流 启用 Kinesis Data Firehose 数据转换后,Kinesis Data Firehose 默认情况下将缓冲最多 3 MB 的传入数据.(要调整缓冲大小,请将 ProcessingConfiguration API 与名为 BufferSizeInMBs 的 Proce

我的汇编学习之路(2):主要术语和概念

对于不折不扣的汇编新手来说,第一部分中出现的很多概念可能不是很明白,于是我决定写更多有价值的文章.所以,让我们开始<我的汇编学习之路>的第二部分的学习. 术语和概念 当我写了第一篇之后,我从不同的读者那获得很多反馈,第一篇中有些部分不明白,这就是本文以及接下来几篇从一些术语的描述开始的原因. 寄存器(Register):寄存器是处理器内小容量的存储结构,处理器的主要功能是数据处理,处理器可以从内存中获得数据,但这是一种低速的操作,这就是为什么处理器为什么要有自己数据存储结构,称为"寄

【总结】Amazon Kinesis实时数据分析最佳实践分享

1.邱洋总结 AWS的服务全部采用SOA架构可以需要时相互调用 关于大数据的实时流处理,AWS提供了传统方案和完全host方案 传统方案是EC2上面部署flume (采集).kafka(数据转存).storam(流处理) 完全host方案是Kinesis 使用Kinesis还是需要用户通过API来将手机.网站点击.IoT.传感器等各类数据源的数据接入 允许用户编写Kinesis的Worker来处理自定义的数据处理逻辑(扩展性) Kinesis处理之后的数据,AWS建议存储S3或redshift等

类的术语和概念

 Terms and Concepts 术语和概念 A classis a description of a set of objects that share the same attributes, operations, relationships, and semantics. Graphically, a class is rendered as a rectangle. 一个类描述一组对象,这组对象共享相同的属性,操作,关系和语义.图形上,一个类被表达为一个矩形. Names 名

Akka学习——术语和概念

(大部分为翻译) Concurrency vs. Parallelism 并发 vs 并行 并发并不一定同时运行,比如使用时间片,使得两个任务交替执行.而并行是执两个任务真正的同时执行. Asynchronous vs. Synchronous   同步 vs 异步   如果一个方法被调用后,调用者只能等到此方法返回值或抛出异常才能继续前进,那这个方法就被称为是"同步"的. 而"异步"调用,是指调用者在经历有限的步骤之后,可以继续前进.方法的完成可以通过其它的机制进

【Java】Java Socket编程(1)基本的术语和概念

计算机程序能够相互联网,相互通讯,这使一切都成为可能,这也是当今互联网存在的基础.那么程序是如何通过网络相互通信的呢?这就是我记录这系列的笔记的原因.Java语言从一开始就是为了互联网而设计的,它为实现程序的相互通信提供了许多有用API,这类应用编程接口被称为套接字(Socket).在开始学习Java Socket之前我们需要先来了解一下基本的术语和概念. 1.计算机网络 计算机网络由一组通过通信信道(Communication channel)相互连接的机器组成.这些机器被称为:主机(host