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.
Wählen Sie den richtigen Modus zum Streamen
In den folgenden Themen wird erklärt, wie Sie den besten Modus für Ihre Anwendung auswählen und bei Bedarf zwischen den Modi wechseln.
Themen
Was sind die verschiedenen Modi in Kinesis Data Streams?
Ein Modus bestimmt, wie die Kapazität eines Datenstroms verwaltet wird und wie Ihnen die Nutzung Ihres Datenstroms in Rechnung gestellt wird. In Amazon Kinesis Data Streams können Sie On-demand Standard , On-demand Advantage und Provisioned als Modus für Ihre Datenstreams wählen.
-
On-demand Standard — Datenstreams mit einem On-Demand-Modus erfordern keine Kapazitätsplanung und werden automatisch skaliert, um einen Schreib- und Lesedurchsatz von Gigabyte pro Minute zu bewältigen. Im On-Demand-Modus verwaltet Kinesis Data Streams die Shards automatisch, um den erforderlichen Durchsatz bereitzustellen.
-
On-demand Vorteil — Ein Modus auf Kontoebene, der Ihnen mehr Funktionen bietet und eine einfachere Preisstruktur für On-Demand-Streams bietet. In diesem Modus können Sie die Schreibdurchsatzkapazität eines Streams jederzeit proaktiv erhöhen. Sie können auch ein Down-Scale-Down auslösen, wenn ein vorübergehender Datenschub dazu geführt hat, dass der Stream seine Warm-Kapazität deutlich überschreitet. Was die Preisgestaltung angeht, gibt es keine feste Gebühr mehr für jeden Stream. Die Nutzung von Datenaufnahme, Datenabruf und erweiterter Aufbewahrung ist bei allen On-Demand-Streams mindestens 60% niedriger als bei On-demand der Standardversion.
-
Bereitgestellt — Für Datenstreams mit einem bereitgestellten Modus müssen Sie die Anzahl der Shards für den Datenstream 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.
Sie können Kinesis Data Streams PutRecord und PutRecords APIs verwenden, um in jedem Modus Daten in Ihre Datenströme zu schreiben. Zum Abrufen von Daten unterstützen alle drei Modi Standard-Consumer, die die GetRecords API verwenden, und Enhanced Fan-Out (EFO) -Consumer, die die API verwenden. SubscribeToShard
Alle Funktionen von Kinesis Data Streams, einschließlich Aufbewahrungsmodus, Verschlüsselung, Überwachungsmetriken und andere, werden sowohl für den On-Demand-Modus als auch für den Bereitstellungsmodus unterstützt. Kinesis Data Streams bietet eine hohe Beständigkeit und Verfügbarkeit sowohl im On-Demand-Modus als auch im Bereitstellungsmodus.
On-demand Funktionen und Anwendungsfälle im Standardmodus
Datenströme im On-Demand-Modus erfordern keine Kapazitätsplanung und werden automatisch skaliert, um einen Schreib- und Lesedurchsatz von Gigabyte pro Minute zu bewältigen. On-demand Der Modus vereinfacht das Erfassen und Speichern großer Datenmengen mit niedriger Latenz, da die Bereitstellung und Verwaltung von Servern, Speichern oder Durchsatz entfällt. Sie können Milliarden von Datensätzen pro Tag aufnehmen, ohne dass der Betrieb beeinträchtigt wird.
On-demand Der Modus ist ideal, um den Anforderungen eines stark variablen und unvorhersehbaren Anwendungsdatenverkehrs gerecht zu werden. Sie müssen diese Workloads nicht mehr für Spitzenauslastungen bereitstellen, was aufgrund der geringen Auslastung zu höheren Kosten führen kann. On-demand Der Modus eignet sich für Workloads mit unvorhersehbaren und stark variablen Verkehrsmustern.
Im On-Demand-Kapazitätsmodus zahlen Sie pro GB geschriebener und gelesener Daten aus Ihren Datenströmen. Sie müssen nicht angeben, wie viel Lese- und Schreibdurchsatz Sie von Ihrer Anwendung erwarten. Kinesis Data Streams passt sich sofort an Ihre Workloads an, wenn diese ansteigen oder sinken. Weitere Informationen finden Sie unter Amazon Kinesis Data Streams – Preise
Ein Datenstrom im On-Demand-Modus ermöglicht bis zu doppelt so viel wie den Spitzenschreibdurchsatz, der in den letzten 30 Tagen beobachtet wurde. Wenn der Schreibdurchsatz Ihres Datenstroms einen neuen Höchstwert erreicht, skaliert Kinesis Data Streams die Kapazität des Datenstroms automatisch. Wenn Ihr Datenstream beispielsweise einen Schreibdurchsatz hat, der zwischen 10 MB/s und 40 variiert, sorgt Kinesis Data Streams dafür MB/s, dass Sie Ihren bisherigen Spitzendurchsatz problemlos auf das Doppelte (80) erhöhen können. MB/s Wenn derselbe Datenstrom einen neuen Spitzendurchsatz von 50 erreicht MB/s, stellt Kinesis Data Streams sicher, dass genügend Kapazität vorhanden ist, um 100% MB/s des Schreibdurchsatzes aufzunehmen. Eine Drosselung des Schreibvorgangs kann jedoch auftreten, wenn Ihr Datenverkehr innerhalb von 15 Minuten auf mehr als das Doppelte des vorherigen Spitzenwerts ansteigt. Sie müssen diese gedrosselten Anfragen erneut versuchen.
Die aggregierte Lesekapazität eines Datenstroms im On-Demand-Modus steigt proportional zum Schreibdurchsatz. Auf diese Weise wird sichergestellt, dass Verbraucheranwendungen immer über einen ausreichenden Lesedurchsatz verfügen, um eingehende Daten in Echtzeit zu verarbeiten. Der Schreibdurchsatz ist mindestens doppelt so hoch wie beim Lesen von Daten mit der GetRecords-API. Wir empfehlen, dass Sie eine Verbraucheranwendung mit der GetRecord-API verwenden, damit sie genügend Spielraum hat, um aufzuholen, wenn die Anwendung sich von einer Ausfallzeit erholen muss. Es wird empfohlen, die erweiterte Fan-Out Funktion von Kinesis Data Streams für Szenarien zu verwenden, in denen mehr als eine Verbraucheranwendung hinzugefügt werden muss. Enhanced Fan-Out unterstützt das Hinzufügen von bis zu 20 Verbraucheranwendungen zu einem Datenstrom mithilfe der SubscribeToShard API, wobei jede Verbraucheranwendung über einen eigenen Durchsatz verfügt.
Behandelt Ausnahmen beim Lese- und Schreibdurchsatz
Im On-Demand-Modus (wie im Modus für bereitgestellte Kapazität) müssen Sie für jeden Datensatz einen Partitionsschlüssel angeben, um Daten in Ihren Datenstrom zu schreiben. Kinesis Data Streams verwendet Ihre Partitionsschlüssel, um Daten auf Shards zu verteilen. Kinesis Data Streams überwacht den Verkehr für jeden Shard. Wenn der eingehende Datenverkehr 500 KB/s pro Shard überschreitet, wird der Shard innerhalb von 15 Minuten aufgeteilt. Die Hash-Schlüsselwerte des übergeordneten Shards werden gleichmäßig auf die untergeordneten Shards verteilt.
Wenn der eingehende Datenverkehr das Doppelte des vorherigen Spitzenwertes übersteigt, kann es für etwa 15 Minuten zu Lese- oder Schreibausfällen kommen, selbst wenn die Daten gleichmäßig auf die Shards verteilt sind. Wir empfehlen, dass Sie alle derartigen Anfragen erneut versuchen, damit alle Datensätze ordnungsgemäß in Kinesis Data Streams gespeichert werden.
Es kann zu Lese- und Schreibausnahmen kommen, wenn Sie einen Partitionsschlüssel verwenden, der zu einer ungleichmäßigen Datenverteilung führt, und die einem bestimmten Shard zugewiesenen Datensätze dessen Grenzwerte überschreiten. Im On-Demand-Modus passt sich der Datenstrom automatisch an ungleichmäßige Datenverteilungsmuster an, es sei denn, ein einzelner Partitionsschlüssel überschreitet den MB/s Durchsatz von 1 und den Grenzwert von 1000 Datensätzen pro Sekunde eines Shards.
Im On-Demand-Modus teilt Kinesis Data Streams die Shards gleichmäßig auf, wenn ein Anstieg des Datenverkehrs festgestellt wird. Hash-Schlüssel, die einen höheren Anteil des eingehenden Datenverkehrs an einen bestimmten Shard weiterleiten, werden jedoch nicht erkannt und isoliert. Wenn Sie stark ungleichmäßige Partitionsschlüssel verwenden, erhalten Sie möglicherweise weiterhin Schreibausnahmen. Für solche Anwendungsfälle empfehlen wir, den Modus für bereitgestellte Kapazität zu verwenden, der granulare Shard-Splits unterstützt.
On-demand Funktionen und Anwendungsfälle im Advantage-Modus
On-demand Advantage ist eine Einstellung auf Kontoebene, die mehr Funktionen freischaltet und eine andere Preisstruktur für alle On-Demand-Streams in der Region bietet. In diesem Modus behalten On-Demand-Streams ihre Funktionalität bei und skalieren die Kapazität weiterhin automatisch auf der Grundlage der tatsächlichen Datennutzung. Wenn Sie die Schreibdurchsatzkapazität eines Streams proaktiv erwärmen möchten, können Sie den Warmdurchsatz konfigurieren. Wenn Ihr Datenstream beispielsweise einen Schreibdurchsatz zwischen 10 MB/s und 40 hat, können Sie davon ausgehen MB/s, dass er sofortige Durchsatzsteigerungen 80MB/s von bis zu 5 Prozent ohne Drosselung verarbeiten kann. Wenn Sie jedoch vorhersagen, dass ein bevorstehendes Ereignis einen Spitzenwert 200MB/s des Datenverkehrs haben wird, können Sie den Stream mit einem warmen Durchsatz von konfigurieren, 200MB/s um sicherzustellen, dass die Kapazität verfügbar ist, wenn der Datendurchsatz eintrifft. Bei Verwendung von Warm Throughput fallen keine zusätzlichen Kosten an. Wenn ein vorübergehender Datenstoß dazu geführt hat, dass der Stream seine Warm-Kapazität überschritten hat, können Sie ein Scale-Down-Verfahren auslösen. Konfigurieren Sie dazu den Warmdurchsatz des Streams auf den gleichen oder einen niedrigeren Wert neu. Die Stream-Kapazität sinkt auf den angeforderten Wert oder auf den Betrag, der zur Unterstützung der Spitzenauslastung bei der Datenaufnahme innerhalb der letzten Stunde erforderlich ist, je nachdem, welcher Wert höher ist.
Ein weiterer On-demand Vorteil des Advantage-Modus besteht darin, dass On-Demand-Streams zu einer einfacheren Preisstruktur übergehen. Wenn der Modus aktiviert ist, fallen keine festen Gebühren pro Stream mehr an, und Sie kümmern sich nur noch um Datenaufnahme, Datenabruf und die optionalen Gebühren für die erweiterte Aufbewahrung. Für jede Preisdimension gibt es außerdem einen erheblichen Rabatt im Vergleich zur entsprechenden Dimension in Standard. On-demand Weitere Informationen finden Sie unter Amazon Kinesis Data Streams – Preise
Für erweiterte Fan-Out-Datenabrufe fällt im Vergleich zu Standarddatenabfragen in diesem Modus ebenfalls kein Preisaufschlag an. Darüber hinaus können Sie im On-demand Advantage-Modus bis zu 50 Verbraucher pro Stream registrieren, um die erweiterte Fan-Out-Funktion zu nutzen. Wenn On-demand Sie Advantage aktivieren, wird das Konto für alle 25MiB/s On-Demand-Streams mindestens zur Datenaufnahme und 25MiB/s zum Datenabruf verpflichtet. Bei Konten, die die Mindestnutzungsanforderungen erfüllen, überprüft die Kinesis Data Streams-Konsole, ob die Nutzungsmuster Ihres Kontos für den Advantage-Modus geeignet sind. On-demand
Wenn die Datennutzung Ihres Kontos unter den Anforderungen liegt, wird Ihnen die Differenz als Fehlbetrag in Rechnung gestellt, aber es wird immer noch der gleiche ermäßigte Tarif berechnet. Für die Aktivierung von On-demand Advantage gilt außerdem eine Mindestdauer von 24 Stunden, bevor Sie den Modus deaktivieren können. Insgesamt ist On-demand Advantage die beste Methode, um mit Kinesis Data Streams zu streamen, wenn Sie eine konsistente Durchsatznutzung haben, die nahe an der vorgeschriebenen Mindestmenge liegt oder diese übersteigt, wenn Sie viele Fan-Out-Verbraucher benötigen oder mit Hunderten von Datenströmen arbeiten.
Funktionen und Anwendungsfälle im Bereitstellungsmodus
Im Bereitstellungsmodus können Sie, nachdem Sie den Datenstream erstellt haben, Ihre Shard-Kapazität mithilfe der oder der API dynamisch nach oben oder unten skalieren. AWS-Managementkonsole UpdateShardCount Sie können Aktualisierungen vornehmen, während eine Produzenten- oder Konsumentenanwendung von Kinesis Data Streams Daten in den Stream schreibt oder aus dem Stream liest.
Der Bereitstellungsmodus eignet sich für vorhersehbaren Datenverkehr mit leicht zu prognostizierenden Kapazitätsanforderungen. Sie können den Bereitstellungsmodus verwenden, wenn Sie eine genaue Kontrolle darüber haben möchten, wie Daten auf Shards verteilt werden.
Mit einem Bereitstellungsmodus müssen Sie die Anzahl der Shards für den Datenstrom angeben. Zum Festlegen der Größe eines Datenstroms mit dem Bereitstellungsmodus benötigen Sie die folgenden Eingabewerte:
-
Die durchschnittliche Größe des Datensatzes, der in den Stream geschrieben wird, in Kilobyte (KB), gerundet auf das nächste ganze Kilobyte (
average_data_size_in_KB). -
Die Anzahl der Datensätze, die pro Sekunde in den Stream geschrieben bzw. daraus gelesen werden (
records_per_second). -
Die Anzahl der Verbraucher, die Anwendungen von Kinesis Data Streams sind, die gleichzeitig und unabhängig voneinander Daten aus dem Stream konsumieren (
number_of_consumers). -
Die Bandbreite für eingehende Schreiboperationen in KB (
incoming_write_bandwidth_in_KB). Diese ist gleichaverage_data_size_in_KBmultipliziert mitrecords_per_second. -
Die Bandbreite für ausgehende Leseoperationen in KB (
outgoing_read_bandwidth_in_KB). Diese ist gleichincoming_write_bandwidth_in_KBmultipliziert mitnumber_of_consumers.
Sie können die Anzahl der Shards (number_of_shards), die der Stream benötigt, mit den Eingabewerte in der folgenden Formel berechnen.
number_of_shards = ceiling(max(incoming_write_bandwidth_in_KiB/1024, outgoing_read_bandwidth_in_KiB/2048))
Im Bereitstellungsmodus kann es immer noch zu Ausnahmen beim Lese- und Schreibdurchsatz kommen, wenn Sie Ihren Datenstrom nicht für den Spitzendurchsatz konfigurieren. In diesem Fall müssen Sie Ihren Datenstrom manuell skalieren, um den Datenverkehr zu bewältigen.
Es kann auch zu Lese- und Schreibausnahmen kommen, wenn Sie einen Partitionsschlüssel verwenden, der zu einer ungleichmäßigen Datenverteilung führt, und die einem Shard zugewiesenen Datensätze dessen Grenzwerte überschreiten. Um dieses Problem im Bereitstellungsmodus zu beheben, identifizieren Sie solche Shards und teilen Sie sie manuell auf, um Ihren Datenverkehr besser zu bewältigen. Weitere Informationen finden Sie unter Resharding eines Streams.
Zwischen den Modi wechseln
Für jeden Datenstrom in Ihrem AWS-Konto können Sie innerhalb von 24 Stunden zweimal zwischen dem On-Demand-Modus und dem Bereitstellungsmodus wechseln. Das Umschalten zwischen den Modi führt nicht zu Unterbrechungen Ihrer Anwendungen, die diesen Datenstrom verwenden. Sie können weiterhin in diesen Datenstrom schreiben und aus ihm lesen. Wenn Sie zwischen den Modi wechseln, entweder von On-Demand zu Provisioning oder von Provisioning zu On-Demand, wird der Status des Streams auf Aktualisierung gesetzt. Sie müssen warten, bis der Status des Datenstroms den Status Aktiv erreicht hat, bevor Sie seine Eigenschaften erneut ändern können.
Wenn Sie vom Bereitstellungs- zum On-Demand-Kapazitätsmodus wechseln, behält Ihr Datenstrom zunächst die Shard-Anzahl bei, die er vor der Umstellung hatte. Ab diesem Zeitpunkt überwacht Kinesis Data Streams Ihren Datenverkehr und skaliert die Anzahl der Shards dieses On-Demand-Datenstroms in Abhängigkeit von Ihrem Schreibdurchsatz. Wenn Sie vom On-Demand-Modus in den Bereitstellungsmodus wechseln, behält Ihr Datenstream zunächst auch die Anzahl der Shards bei, die er vor dem Übergang hatte. Ab diesem Zeitpunkt sind Sie jedoch dafür verantwortlich, die Shard-Anzahl dieses Datenstroms zu überwachen und anzupassen, um Ihrem Schreibdurchsatz gerecht zu werden.
Sie können vom On-demand Standard- in den On-demand Advantage-Modus wechseln, indem Sie eine Einstellung auf Kontoebene aktivieren. Wenn diese Option aktiviert ist, verpflichtet sich das Konto mindestens zur 25MiB/s Datenaufnahme und zum Datenabruf für alle On-Demand-Streams in 25MiB/s der Region. Nach der Aktivierung müssen Sie mindestens 24 Stunden warten, bevor Sie On-demand Advantage deaktivieren können. Sie können die Änderung jedoch jederzeit beantragen. Wenn Sie von On-demand Advantage zu On-demand Standard wechseln möchten, müssen Sie zunächst den für On-Demand-Streams konfigurierten Warmdurchsatz entfernen.