Terminologie und Konzepte von Amazon Kinesis Data Streams - Amazon-Kinesis-Data-Streams

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Terminologie und Konzepte von Amazon Kinesis Data Streams

Bevor Sie mit Amazon Kinesis Data Streams beginnen, sollten Sie sich mit dessen Architektur und Terminologie vertraut machen.

Informieren Sie sich über die High-Level-Architektur von Kinesis Data Streams

Das folgende Diagramm zeigt die High-Level-Architektur von Kinesis Data Streams. Die Produzenten übermitteln kontinuierlich Daten an Kinesis Data Streams und die Verbraucher verarbeiten die Daten in Echtzeit. Verbraucher (z. B. eine benutzerdefinierte Anwendung, die auf Amazon läuft, EC2 oder ein Amazon Firehose Firehose-Lieferstream) können ihre Ergebnisse mit einem AWS Service wie Amazon DynamoDB, Amazon Redshift oder Amazon S3 speichern.

High-Level-Architektur-Diagramm von Kinesis Data Streams

Machen Sie sich mit der Terminologie von Kinesis Data Streams vertraut

Kinesis Data Stream

Ein Kinesis-Datenstrom ist eine Gruppe von Shards. Jeder Shard hat eine Sequenz von Datensätzen. Jedem Datensatz wird von Kinesis Data Streams eine Sequenznummer zugewiesen.

Datensatz

Die von Kinesis Data Streams gespeicherte Dateneinheit wird als Datensatz bezeichnet. Datensätze besehen aus einer Sequenznummer, einem Partitionsschlüssel und einem Daten-Blob. Ein Daten-Blob ist eine unveränderliche Byte-Reihenfolge. Kinesis Data Streams untersucht, interpretiert oder ändert Daten im Blob in keiner Weise. Ein Daten-Blob kann bis zu 1 MB groß sein.

Kapazitätsmodus

Ein Datenstrom-Kapazitätsmodus bestimmt, wie Kapazität verwaltet wird und wie Ihnen die Nutzung Ihres Datenstroms in Rechnung gestellt wird. Derzeit können Sie in Kinesis Data Streams zwischen einem On-Demand-Modus und einem Bereitstellungsmodus für Ihre Datenstreams wählen. Weitere Informationen finden Sie unter Wählen Sie den Datenstream-Kapazitätsmodus.

Im On-Demand-Modus verwaltet Kinesis Data Streams die Shards automatisch, um den erforderlichen Durchsatz bereitzustellen. Sie zahlen nur für den tatsächlich genutzten Durchsatz und Kinesis Data Streams passt sich automatisch dem Durchsatzbedarf Ihrer Workloads an, wenn dieser steigt oder sinkt. Weitere Informationen finden Sie unter Funktionen und Anwendungsfälle des On-Demand-Modus.

Mit einem bereitgestellten Modus müssen Sie die Anzahl der Shards für den Datenstrom angeben. Die Gesamtkapazität eines Datenstroms ist die Summe der Kapazitäten der einzelnen Shards. Sie können die Anzahl der Shards in einem Datenstrom nach Bedarf erhöhen oder verringern, und die Anzahl der Shards wird Ihnen nach einem Stundensatz in Rechnung gestellt. Weitere Informationen finden Sie unter Funktionen und Anwendungsfälle im Bereitstellungsmodus.

Aufbewahrungszeitraum

Der Aufbewahrungszeitraum gibt den Zeitraum am, in dem auf Datensätze zugegriffen werden kann, nachdem sie dem Stream hinzugefügt wurden. Die Standard-Aufbewahrungsdauer eines Streams beträgt nach Erstellung 24 Stunden. Sie können den Aufbewahrungszeitraum mithilfe des IncreaseStreamRetentionPeriodVorgangs auf bis zu 8760 Stunden (365 Tage) erhöhen und den Aufbewahrungszeitraum mithilfe des Vorgangs auf mindestens 24 Stunden reduzieren. DecreaseStreamRetentionPeriod Für Streams mit einem Aufbewahrungszeitraum von mehr als 24 Stunden fallen zusätzliche Gebühren an. Weitere Informationen finden Sie unter Preise für Amazon Kinesis Daten-Streams.

Produzent

Produzenten speichern Datensätze in Amazon Kinesis Data Streams. Ein Webserver, der Protokolldaten an einen Stream sendet, ist ein Beispiel für einen Produzenten.

Konsument

Verbraucher erhalten Datensätze von Amazon Kinesis Data Streams und verarbeiten sie. Diese Konsumenten werden als Anwendung von Amazon Kinesis Data Streams bezeichnet.

Anwendung von Amazon Kinesis Data Streams

Eine Amazon Kinesis Data Streams Streams-Anwendung nutzt einen Stream, der üblicherweise auf einer Flotte von EC2 Instances ausgeführt wird.

Sie können zwei Arten von Konsumenten entwickeln: geteilte Rundesendekonsumenten und erweiterte Rundesendekonsumenten. Informationen zu den Unterschieden zwischen diesen Typen und zu ihrer Erstellung erhalten Sie unter Daten aus Amazon Kinesis Data Streams lesen.

Die Ausgabe einer Anwendung von Kinesis Data Streams kann als Eingabe für einen anderen Stream genutzt werden. So können Sie komplexe Topologien erstellen, die Daten in Echtzeit verarbeiten. Eine Anwendung kann auch Daten an eine Vielzahl anderer AWS Dienste senden. Es sind mehrere Anwendungen für einen Stream möglich. Dabei kann jede Anwendung Daten aus einem Stream gleichzeitig und unabhängig konsumieren.

Shard

Ein Shard ist eine eindeutig identifizierbare Sequenz von Datensätzen in einem Stream. Ein Stream besteht aus einem oder mehreren Shards. Jeder Shard stellt eine feste Einheit der Kapazität bereit. Jeder Shard kann bis zu 5 Transaktionen pro Sekunde für Lesevorgänge unterstützen, bis zu einer maximalen Gesamtdatenleserate von 2 MB pro Sekunde und bis zu 1 000 Datensätze pro Sekunde für Schreibvorgänge, bis zu einer maximalen Gesamtdatenschreibrate von 1 MB pro Sekunde (einschließlich Partitionsschlüssel). Die Datenkapazität Ihres Streams bezieht sich auf die Anzahl der Shards, die Sie für den Stream festlegen. Die Gesamtkapazität des Streams ist die Summe der Kapazitäten der einzelnen Shards.

Wenn sich Ihre Datenrate erhöht, können Sie die Anzahl der zu Ihrem Stream zugewiesenen Shards erhöhen oder verringern. Weitere Informationen finden Sie unter Einen Stream erneut teilen.

Partitionsschlüssel

Ein Partitionsschlüssel wird verwendet, um Daten nach Shard in einem Stream zu gruppieren. Kinesis Data Streams teilt die Datensätze eines Streams auf mehrere Shards auf. Dabei wird der Partitionsschlüssel verwendet, der jedem Datensatz zugeordnet ist, um zu ermitteln, zu welchem Shard ein gegebener Datensatz gehört. Partitionsschlüssel sind Unicode-Zeichenfolgen mit einer maximalen Länge von 256 Zeichen pro Schlüssel. Eine MD5 Hash-Funktion wird verwendet, um Partitionsschlüssel 128-Bit-Ganzzahlwerten zuzuordnen und zugehörige Datensätze unter Verwendung der Hash-Schlüsselbereiche der Shards Shards den Shards zuzuordnen. Wenn eine Anwendung Daten in einen Stream schreibt, muss sie einen Partitionsschlüssel angeben.

Sequenznummer

Jeder Datensatz verfügt über eine Sequenznummer, die pro Partitionsschlüssel im betreffenden Shard eindeutig ist. Die Sequenznummer wird von Kinesis Data Streams zugewiesen, nachdem Sie mit client.putRecords oder client.putRecord in den Stream geschrieben haben. Sequenznummern für denselben Partitionsschlüssel steigen in der Regel im Laufe der Zeit. Je länger die Zeitdauer zwischen Schreibanforderungen ist, desto größer wird die Sequenznummer.

Anmerkung

Sequenznummern können nicht als Index für Datensätze innerhalb desselben Streams verwendet werden. Nutzen Sie für die logische Unterteilung von Datensätzen Partitionsschlüssel oder erstellen Sie für jeden Datensatz einen separaten Stream.

Kinesis Client Library

Die Kinesis Client Library wird in Ihre Anwendung kompiliert, um eine fehlertolerante Nutzung von Daten aus dem Stream zu gewährleisten. Die Kinesis Client Library stellt sicher, dass für jeden Shard ein Datensatzprozessor verfügbar ist, der diesen Shard ausführt und verarbeitet. Die Bibliothek vereinfacht zudem das Auslesen von Daten aus dem Stream. Die Kinesis Client Library verwendet eine Amazon-DynamoDB-Tabelle zum Speichern von Kontrolldaten. Sie generiert eine Anwendung pro Tabelle, die die Daten verarbeitet.

Es gibt zwei Hauptversionen der Kinesis Client Library. Welche Sie verwenden, hängt vom Typ des zu erstellenden Konsumenten ab. Weitere Informationen finden Sie unter Daten aus Amazon Kinesis Data Streams lesen.

Anwendungsname

Der Name einer Anwendung von Amazon Kinesis Data Streams identifiziert die Anwendung. Jede Ihrer Anwendungen muss einen eindeutigen Namen haben, der auf das AWS Konto und die Region zugeschnitten ist, die von der Anwendung verwendet werden. Dieser Name wird als Name für die Steuertabelle in Amazon DynamoDB und als Namespace für Amazon-Metriken verwendet. CloudWatch

Serverseitige Verschlüsselung

Amazon Kinesis Data Streams kann automatisch sensible Daten verschlüsseln, wenn ein Produzent diese an einen Stream übergibt. Kinesis Data Streams verwendet AWS KMS-Masterschlüssel für die Verschlüsselung. Weitere Informationen finden Sie unter Datenschutz in Amazon Kinesis Data Streams.

Anmerkung

Zum Auslesen aus einem verschlüsselten Stream oder zum Schreiben in einen solchen benötigen Konsumentenanwendungen eine Berechtigung für den Zugriff auf den Masterschlüssel. Informationen zum Gewähren von Berechtigungen für Produzenten- und Konsumentenanwendungen finden Sie unter Berechtigungen zur Verwendung von benutzergenerierten Schlüsseln KMS.

Anmerkung

Die Verwendung serverseitiger Verschlüsselung verursacht AWS Key Management Service () Kosten.AWS KMS Weitere Informationen finden Sie unter AWS Key Management Service – Preise.