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.
Die folgenden Abschnitte enthalten Konzepte und Terminologie, die erforderlich sind, um die Kinesis Producer Library zu verstehen und von ihr zu profitieren (KPL).
Datensätze
In diesem Handbuch unterscheiden wir zwischen KPLBenutzerdatensätzen und Kinesis Data Streams Streams-Datensätzen. Wenn von einem Datensatz ohne weitere Angabe die Rede ist, ist ein KPL-Benutzerdatensatz gemeint. Wenn wir uns auf einen Datensatz von Kinesis Data Streams beziehen, sagen wir ausdrücklich Datensatz von Kinesis Data Streams.
Ein KPL-Benutzerdatensatz ist ein Daten-Blob mit einer bestimmten Bedeutung für den Benutzer. Beispiele hierfür sind ein JSON Blob, der ein UI-Ereignis auf einer Website darstellt, oder ein Protokolleintrag von einem Webserver.
Ein Kinesis Data Streams Streams-Datensatz ist eine Instanz der vom Kinesis Record
Data Streams-Dienst definierten Datenstruktur. API Er enthält eine Sequenznummer, einen Partitionsschlüssel und einen Daten-Blob.
Stapelverarbeitung
Unter Stapelverarbeitung versteht man das Durchführen einer einzelnen Aktion für mehrere Elemente gleichzeitig (im Gegensatz zur Ausführung ein und derselben Aktion für jedes Element separat).
In diesem Kontext steht „Element“ für einen Datensatz, der durch die Aktion an Kinesis Data Streams gesendet wird. In einer Situation ohne Batchverarbeitung würden Sie jeden Datensatz in einem separaten Kinesis Data Streams-Datensatz platzieren und eine HTTP Anfrage stellen, um ihn an Kinesis Data Streams zu senden. Bei der Batchverarbeitung kann jede HTTP Anfrage mehrere Datensätze enthalten, anstatt nur einen.
Die KPL unterstützt zwei Arten der Stapelverarbeitung:
-
Aggregation – Speichern mehrerer Datensätze in einem einzelnen Datensatz von Kinesis Data Streams.
-
Erfassung — Verwenden Sie den API Vorgang
PutRecords
, um mehrere Kinesis Data Streams Streams-Datensätze an einen oder mehrere Shards in Ihrem Kinesis-Datenstream zu senden.
Die zwei Arten der KPL-Stapelverarbeitung sind so konzipiert, dass sie gleichzeitig und unabhängig voneinander aktiviert oder deaktiviert werden können. Standardmäßig sind beide aktiviert.
Aggregation
Aggregation bezieht sich auf die Speicherung mehrerer Datensätze in einem Datensatz von Kinesis Data Streams. Durch die Aggregation können Kunden die Anzahl der pro API Anruf gesendeten Datensätze erhöhen, wodurch der Produktionsdurchsatz effektiv erhöht wird.
Shards von Kinesis Data Streams unterstützen bis zu 1 000 Datensätze von Kinesis Data Streams pro Sekunde bzw. einen Durchsatz von 1 MB. Das Limit für Datensätze pro Sekunde von Kinesis Data Streams bindet Kunden mit Datensätzen kleiner als 1 KB. Durch die Datensatzaggregation können Kunden mehrere Datensätze in einem einzelnen Datensatz von Kinesis Data Streams zusammenfassen. So können Kunden Ihren Durchsatz pro Shard verbessern.
Stellen Sie sich den Fall eines Shards in der Region us-east-1 vor, der derzeit mit einer konstanten Rate von 1.000 Datensätzen pro Sekunde mit Datensätzen von jeweils 512 Byte ausgeführt wird. Mit KPL der Aggregation können Sie 1.000 Datensätze in nur 10 Kinesis Data Streams Streams-Datensätze packen und die Anzahl RPS auf 10 reduzieren (bei jeweils 50 KB).
Sammlung
Erfassung bezieht sich auf das Stapeln mehrerer Kinesis Data Streams Streams-Datensätze und deren Senden in einer einzigen HTTP Anforderung mit einem Aufruf des API VorgangsPutRecords
, anstatt jeden Kinesis Data Streams Streams-Datensatz in einer eigenen Anfrage zu senden. HTTP
Dies erhöht den Durchsatz im Vergleich zur Verwendung ohne Erfassung, da dadurch der Aufwand für viele separate Anfragen reduziert wird. HTTP PutRecords
wurde speziell für diesen Zweck entwickelt.
Eine Sammlung unterscheidet sich von der Aggregation dahingehend, dass mit Gruppen von Datensätzen von Kinesis Data Streams gearbeitet wird. Die gesammelten Datensätze von Kinesis Data Streams können trotzdem mehrere Datensätze eines Benutzers enthalten. Die Beziehung lässt sich wie folgt visualisieren:
record 0 --|
record 1 | [ Aggregation ]
... |--> Amazon Kinesis record 0 --|
... | |
record A --| |
|
... ... |
|
record K --| |
record L | | [ Collection ]
... |--> Amazon Kinesis record C --|--> PutRecords Request
... | |
record S --| |
|
... ... |
|
record AA--| |
record BB | |
... |--> Amazon Kinesis record M --|
... |
record ZZ--|