View a markdown version of this page

Bewährte Methoden für die Datenbereitstellung - 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.

Bewährte Methoden für die Datenbereitstellung

Die folgenden bewährten Methoden helfen Ihnen dabei, die Datenbereitstellung in Amazon Kinesis Data Streams optimal zu nutzen. Die vollständige Liste der Lieferkennzahlen, auf die in diesen Empfehlungen verwiesen wird, finden Sie unterÜberwachung der Datenlieferung.

Durchsatz und Datenaktualität

Passen Sie die Übermittlungshäufigkeit an und beobachten Sie die Zustellungslatenz, sodass Ihre Ausgabedateigröße und Datenaktualität zu Ihrer Arbeitslast passen:

  • Stellen Sie den DataFreshnessInSeconds Parameter auf der Grundlage Ihres Stream-Durchsatzes ein. Niedrigere Werte erhöhen die Lieferfrequenz, können jedoch zu kleineren Ausgabedateien führen. Höhere Werte ermöglichen es, dass sich für jeden Lieferzyklus mehr Daten ansammeln.

  • Erstellen Sie einen CloudWatch Amazon-Alarm für die DataFreshness Metrik, um zu erkennen, wenn die Lieferlatenz Ihren akzeptablen Schwellenwert überschreitet.

  • Sie können mehrere Lieferungen aus demselben Kinesis Data Streams Streams-Stream erstellen. Jede Lieferung erfolgt unabhängig, sodass Sie Daten gleichzeitig an mehrere Ziele liefern können.

Schemaverwaltung (Streaming-Tabellen auf Apache Iceberg)

Da Streaming-Tabellenlieferungen an ein festes Schema gebunden sind und die Schemaentwicklung nicht unterstützen, sollten Sie Ihre Schemas sorgfältig verwalten, um fehlgeschlagene Lieferungen zu vermeiden:

  • Registrieren Sie Ihre Schemas in AWS Glue Schema Registry, bevor Sie eine Lieferung erstellen. Die Lieferung verwendet das registrierte Schema, um die Struktur der Zieltabelle zu definieren.

  • Lieferungen unterstützen die Schemaentwicklung nicht. Wenn sich Ihr Schema ändert, müssen Sie die Lieferung löschen und mit dem aktualisierten Schema neu erstellen.

  • Verwenden Sie die herstellerseitige Schemavalidierung, um sicherzustellen, dass alle Datensätze dem registrierten Schema entsprechen, bevor sie in den Stream geschrieben werden. Dadurch werden Fehlschläge bei der Datensatzzustellung minimiert.

S3-Objektlayout (Amazon S3 S3-Buckets für allgemeine Zwecke)

Gestalten Sie Ihre gelieferten Objekte so, dass Sie die Leistung nachgelagerter Abfragen verbessern und die Speicherkosten kontrollieren können:

  • Wählen Sie eine Vorlage für Ausgabeschlüssel, die den Abfragemustern Ihrer nachgeschalteten Verbraucher entspricht. Verwenden Sie beispielsweise datumsbasierte Präfixe, wenn Ihre Abfragen häufig nach Zeitbereichen filtern.

  • Aktivieren Sie die GZIP- oder ZSTD-Komprimierung, um die Speicherkosten zu senken und die Leseleistung für nachgelagerte Analyse-Workloads zu verbessern.

  • Wählen Sie die passende Amazon S3 S3-Speicherklasse basierend auf Ihren Datenzugriffsmustern aus. Verwenden Sie STANDARD für Daten, auf die häufig zugegriffen wird, INTELLIGENT_TIERING, damit Amazon S3 Objekte automatisch zwischen Zugriffsebenen verschieben kann, oder GLACIER_IR für Daten, auf die selten zugegriffen wird und die immer noch Millisekunden abgerufen werden müssen.

Sicherheit

Schützen Sie Ihre Lieferdaten und Anmeldedaten mit geringsten Zugriffsrechten, Verschlüsselung und Prüfung:

  • Richten Sie Ihre IAM-Richtlinie auf den spezifischen Bucket oder die Tabelle ein, in den die Lieferung schreibt. Vermeiden Sie die Verwendung von Platzhalter-Ressourcen-ARNs.

  • Nehmen Sie die Schlüssel aws:SourceArn und die aws:SourceAccount Bedingungsschlüssel in die Vertrauensrichtlinie der IAM-Rolle auf, die von der Lieferung verwendet wird. Auf diese Weise wird das Problem des verwirrten Stellvertreters vermieden, indem sichergestellt wird, dass nur Ihr eigener Mitarbeiter die Rolle übernehmen kann.

  • Aktivieren AWS CloudTrail Sie die Protokollierung, um alle API-Aufrufe und Konfigurationsänderungen für die Zustellung zu überprüfen.

  • Verwenden Sie einen vom Kunden verwalteten AWS KMS Schlüssel für sensible Daten. Auf diese Weise haben Sie die volle Kontrolle über die Schlüsselrotation, die Zugriffsrichtlinien und die Prüfpfade.

Dead-letter Warteschlange

Erfassen und diagnostizieren Sie Datensätze, die nicht zugestellt werden können, indem Sie eine Warteschlange für unzustellbare Briefe konfigurieren und überwachen:

  • Richten Sie für Ihre Zustellung immer eine Warteschlange für unzustellbare Briefe ein. Datensätze, die nicht an den Bestimmungsort zugestellt werden können, werden zur späteren Überprüfung an die Warteschlange für unzustellbare Briefe gesendet.

  • Überwachen Sie die DLQDeliverySuccess Metrik (DeliveryToS3.DLQDeliverySuccessoderDeliveryToIceberg.DLQDeliverySuccess) CloudWatch , um zu erkennen, wann Datensätze an die Warteschlange für unzustellbare Briefe weitergeleitet werden.

  • Überprüfen Sie regelmäßig die Einträge in der Warteschlange für unzustellbare Nachrichten, um Muster bei Auslieferungsfehlern zu identifizieren und Korrekturmaßnahmen auf Hersteller- oder Versandkonfigurationsebene zu ergreifen.

Überwachen

Erkennen Sie Lieferprobleme frühzeitig, indem Sie Warnmeldungen zu wichtigen CloudWatch Kennzahlen senden und Lieferprotokolle aktivieren:

  • Erstellen Sie CloudWatch Alarme zu den Messdaten der Lieferung DataFreshness und zu fehlgeschlagenen Daten (DeliveryToS3.FailedRecordCountoderDeliveryToIceberg.FailedRowCount), um Probleme bei der Zustellung proaktiv zu erkennen.

  • Aktivieren Sie CloudWatch Protokolle für Ihre Lieferung, um detaillierte Lieferdiagnosen und Fehlermeldungen zu erfassen.

  • Verfolgen Sie die Metrik (DeliveryToS3.BytesOutoderDeliveryToIceberg.BytesOut) für zugestellte Byte, um den Durchsatz zu überwachen und unerwartete Einbrüche des Datenvolumens zu erkennen.