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.
Amazon Kinesis Data Streams — Terminologie und Konzepte
Bevor Sie mit Amazon Kinesis Data Streams beginnen, sollten Sie sich mit der Architektur und Terminologie von Amazon Kinesis Data Streams vertraut machen.
Themen
Sehen Sie sich die allgemeine Architektur von Kinesis Data Streams an
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 EC2 läuft, oder ein Amazon Data Firehose-Lieferstream) können ihre Ergebnisse mithilfe eines AWS Dienstes wie Amazon DynamoDB, Amazon Redshift oder Amazon S3 speichern.
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 bereitgestellten Modus für Ihre Datenstreams wählen. Weitere Informationen finden Sie unter Wählen Sie den richtigen Modus zum Streamen.
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 On-demand Funktionen und Anwendungsfälle im Standardmodus.
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. Mithilfe des IncreaseStreamRetentionPeriod Vorgangs können Sie den Aufbewahrungszeitraum auf bis zu 8760 Stunden (365 Tage) erhöhen und mithilfe des Vorgangs den Aufbewahrungszeitraum 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 Anwendung von Amazon Kinesis Data Streams ist ein Verbraucher eines Streams, der in der Regel 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-Ganzzahlwerte zuzuordnen und zugehörige Datensätze zu Shards mithilfe der Hash-Schlüsselbereiche der 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 der Daten aus dem Stream zu ermöglichen. Die Kinesis Client Library stellt sicher, dass für jeden Shard ein Datensatzprozessor läuft und diesen Shard verarbeitet. Die Bibliothek vereinfacht zudem das Auslesen von Daten aus dem Stream. Die Kinesis Client Library verwendet Amazon DynamoDB-Tabellen, um Metadaten zum Datenverbrauch zu speichern. Es erstellt drei Tabellen pro Anwendung, die Daten verarbeitet. Weitere Informationen finden Sie unter Verwenden Sie die Kinesis Client Library.
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
Server-Side 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 KMS-Schlüsseln.
Anmerkung
Die Verwendung der serverseitigen Verschlüsselung verursacht AWS Key Management Service (AWS KMS) Kosten. Weitere Informationen finden Sie unter AWS Key Management Service – Preise
Lieferung von Daten
Die Datenbereitstellung ist eine vollständig verwaltete Funktion, mit der Streaming-Daten aus einem Kinesis-Datenstream an ein Analyse- oder Speicherziel übertragen werden, ohne dass eine Infrastruktur verwaltet werden muss. Es müssen keine Konnektoren, Verbraucheranwendungen oder Rechenressourcen bereitgestellt werden. Kinesis Data Streams liest aus Ihrem Stream, puffert und aggregiert Datensätze und übermittelt sie innerhalb weniger Minuten an Ihr konfiguriertes Ziel. Die Datenbereitstellung unterstützt zwei Zieltypen: Streaming-Tabellen auf Apache Iceberg und Amazon S3-Buckets für allgemeine Zwecke. Weitere Informationen finden Sie unter Streaming-Tabellen und S3-Bereitstellung für Amazon Kinesis Data Streams.
Lieferung an Streaming-Tabellen im Iceberg-Format
Materialisieren Sie Streaming-Daten kontinuierlich als abfragbare Apache Iceberg-Tabellen in Amazon S3-Tabellen, ohne dass eine ETL-Pipeline erforderlich ist. Bei der Bereitstellung an Streaming-Tabellen werden Stream-Datensätze kontinuierlich als Apache Iceberg-Tabellen auf Amazon S3-Tabellen materialisiert. Built-in Die intelligente Inline-Komprimierung verhindert die Verbreitung kleiner Dateien und sorgt für eine vorhersehbare Abfrageleistung, ohne die Aktualität der Daten zu beeinträchtigen. Fragen Sie Daten mit einer beliebigen Engine ab oder transformieren Sie sie, einschließlich Apache Spark, Trino, Apache Flink oder Amazon Athena, für Echtzeitanalysen direkt auf Ihren Streaming-Daten.
Bereitstellung für Amazon S3
Stellen Sie Streaming-Daten im Quellformat zur Sicherung, Archivierung und Downstream-Datenverarbeitung in Amazon S3-Buckets bereit. Bei der Bereitstellung an Amazon S3 werden Streaming-Datensätze direkt im ursprünglichen Quellformat in Amazon S3-Buckets für allgemeine Zwecke übertragen. Verwenden Sie diese Funktion für Workflows zur langfristigen Datenspeicherung, Compliance-Archivierung, Wiedergabe und Wiederverarbeitung oder als Staging-Ebene für nachgelagerte Batchverarbeitungs-Pipelines. In Kombination mit der Bereitstellung an Streaming-Tabellen können Sie eine komplette Lakehouse-Architektur mit in Echtzeit abfragbaren Tabellen für Analysen und originalgetreuem Roh-Backup in Amazon S3 erstellen.