[SEO-Zwischenüberschrift]
Diese Anleitung ermöglicht es Ihnen, Amazon DynamoDB mit Amazon OpenSearch Service zu integrieren, um eine Echtzeitsuche zu ermöglichen. Die meisten Anwendungen sollten die Null-ETL-Integration von Amazon DynamoDB mit Amazon OpenSearch Service verwenden. Für Anwendungen mit Anforderungen, die nicht mit der Null-ETL-Integration übereinstimmen, zeigt diese Anleitung, wie ein anfänglicher Datenladevorgang von DynamoDB in OpenSearch Service über parallele Funktionen durchgeführt wird und wie neue Daten in OpenSearch Service repliziert werden. Indem Sie die Daten an beiden Orten aufbewahren, können Sie Abfragen gezielt auf die Datenbank richten, die Ihren Anforderungen am besten entspricht: DynamoDB unterstützt alle festen Zugriffsmuster, die Leistung und Skalierbarkeit erfordern, und OpenSearch Service unterstützt Zugriffsmuster, die Flexibilität beim Suchen und Filtern erfordern.
Bitte beachten: [Haftungsausschluss]
Architekturdiagramm
[Beschreibung des Architekturdiagramms]
Erster Ladevorgang
Schritt 1
Um vorhandene Daten zu verarbeiten, wird eine AWS-Lambda-Funktion aufgerufen, um die Amazon-DynamoDB-Tabelle zu beschreiben und sie basierend auf der Anzahl der zurückgegebenen Artikel in eine Reihe von Segmenten aufzuteilen. Die Funktion schreibt für jede Segmentnummer eine Nachricht in eine Warteschlange von Amazon Simple Queue Service (Amazon SQS).
Schritt 2
Amazon SQS fungiert als Ereignisquelle für Lambda. Lambda ruft Funktionen aus Nachrichten in der Warteschlange auf und verarbeitet parallel Segmente der DynamoDB-Tabelle.
Schritt 3
Die Lambda-Funktion verwendet einen parallelen Scan, um das Segment der DynamoDB-Tabelle zu lesen, das im Quellereignis von Amazon SQS aufgeführt ist.
Schritt 4
Anschließend schreibt die Funktion die aus DynamoDB abgerufenen Daten über den Bulk-Create-Vorgang stapelweise in den Amazon OpenSearch Service.
Streaming-Änderungen
Schritt 5
Fügen Sie Elemente in DynamoDB ein oder aktualisieren Sie sie, um die Erfassung durch DynamoDB-Streams aufzurufen.
Schritt 6
DynamoDB-Streams senden Änderungen auf Elementebene, die von DynamoDB erfasst wurden, an die Lambda-Streaming-Aktualisierungsfunktion.
Schritt 7
Die Lambda-Funktion schreibt diese Daten stapelweise über den Massenindex-Vorgang in OpenSearch Service. Verfolgen Sie aufgenommene Dokumente mit der SearchableDocuments-Metrik in Amazon CloudWatch.
Erste Schritte
Diese Anleitung anwenden
Well-Architected-Säulen
Das AWS-Well-Architected-Framework hilft Ihnen, die Vor- und Nachteile der Entscheidungen zu verstehen, die Sie beim Aufbau von Systemen in der Cloud treffen. Die sechs Säulen des Frameworks ermöglichen es Ihnen, architektonische bewärhte Methoden für die Entwicklung und den Betrieb zuverlässiger, sicherer, effizienter, kostengünstiger und nachhaltiger Systeme zu erlernen. Mit dem AWS-Well-Architected-Tool, das kostenlos in der AWS-Managementkonsole verfügbar ist, können Sie Ihre Workloads anhand dieser bewährten Methoden überprüfen, indem Sie eine Reihe von Fragen für jede Säule beantworten.
Das obige Architekturdiagramm ist ein Beispiel für eine Lösung, die unter Berücksichtigung der bewährten Methoden von Well-Architected erstellt wurde. Um eine vollständige Well-Architected-Lösung zu erhalten, sollten Sie so viele bewährte Methoden von Well-Architected wie möglich befolgen.
-
Betriebliche Exzellenz
Das AWS Cloud Development Kit (AWS CDK) definiert die Infrastruktur für die Lösung als Code und hilft Ihnen so, eine konsistente Bereitstellung zu erreichen. Lambda unterteilt die Arbeit in kleinere Arbeitseinheiten, die jeweils für eine andere Anwendungsfunktion verantwortlich sind. Diese Funktionen für einzelne Aufgaben reduzieren menschliche Fehler und unterstützen kleine schrittweise Änderungen, die sich leichter rückgängig machen lassen, wenn sie fehlschlagen.
-
Sicherheit
Gegebenenfalls werden in diesem Leitfaden Services in privaten Amazon Virtual Private Cloud (Amazon VPC)-Netzwerken und nicht in öffentlichen Netzwerken gestartet. Die private Vernetzung über Amazon VPC unterstützt die Sicherheit auf allen Ebenen, indem Sie die Kontrolle über den Datenzugriff haben. Darüber hinaus können Sie durch die Verwendung zweckgebundener AWS Identity and Access Management (IAM)-Richtlinien mit geringsten Berechtigungen verhindern, dass Berechtigungsänderungen weitreichendere, unerwartete Folgen haben. Zudem wird das Risiko verringert, dass Benutzer vertrauliche Daten falsch handhaben. AWS Secrets Manager generiert und speichert auf sichere Weise Administratorgeheimnisse und verhindert so, dass Benutzer Anmeldeinformationen in Code- oder Umgebungsvariablen speichern, in denen sie einem Risiko ausgesetzt sind.
-
Zuverlässigkeit
Amazon SQS bietet einen automatischen Wiederholungsmechanismus für den Fall, dass ein Teil des Imports fehlschlägt, und unterstützt Sie so bei der schnellen Wiederherstellung nach Fehlern. Als Aufzeichnungssystem verwendet DynamoDB zeitpunktbezogene Wiederherstellung für kontinuierliche Backups und ermöglicht so eine Wiederherstellung auf jede Sekunde innerhalb der letzten 35 Tage. OpenSearch Service hilft Ihnen dabei, Abweichungen zwischen den beiden Datenbanken zu verhindern, indem es den Vorgang „Erstellen“ zum anfänglichen Laden der Daten verwendet und so verhindert, dass ältere Daten neuere Daten überschreiben. OpenSearch Service ist so eingerichtet, dass er einen Cluster mit einem Knoten verwendet. Sie können dies jedoch in einen Cluster mit mehreren Availability Zones ändern, um die Verfügbarkeit in der Produktion aufrechtzuerhalten.
-
Leistung und Effizienz
Mit Lambda können Sie Workloads parallelisieren: Lesevorgänge aus DynamoDB durchlaufen segmentierte parallele Scans, die auf mehrere Aufrufe der Lambda-Funktion aufgeteilt sind. Diese Parallelisierung ermöglicht einen deutlich höheren Durchsatz, als ein einzelner Thread bewältigen könnte.
-
Kostenoptimierung
Lambda liest DynamoDB-Elemente zusammen in einem Batch und nicht als einzelne GetItem-Anfragen. Daher verbraucht dieser Leitfaden weniger Lese-Kapazitätseinheiten. Durch die Verringerung des Arbeitsaufwands für Aufgaben wie das Initialisieren von Verbindungen verringert die Verwendung von Batches die Rechenzeit und die Anzahl der Lambda-Aufrufe und senkt so Ihre Rechenkosten. Darüber hinaus sind Batch-Vorgänge von OpenSearch Service effizient und helfen Ihnen, die Gesamtkosten der Rechenressourcen zu senken.
-
Nachhaltigkeit
Lambda ruft Funktionen nur auf, wenn Daten in den OpenSearch Service verschoben werden müssen, und wird nicht im Leerlauf ausgeführt. Auf diese Weise können Sie Ihre Rechenressourcen optimal nutzen. Darüber hinaus trägt DynamoDB als verwalteter Serverless-Service dazu bei, Ineffizienzen zu reduzieren und den Gesamtstromverbrauch Ihrer Workloads zu senken.
Ähnliche Inhalte
Null-ETL-Integration von Amazon DynamoDB mit Amazon OpenSearch Service ist jetzt verfügbar
Haftungsausschluss
Der Beispielcode, die Softwarebibliotheken, die Befehlszeilentools, die Machbarkeitsnachweise, die Vorlagen oder andere zugehörige Technologien (einschließlich derjenigen, die von unseren Mitarbeitern bereitgestellt werden) werden Ihnen als AWS-Inhalte im Rahmen der AWS-Kundenvereinbarung oder der entsprechenden schriftlichen Vereinbarung zwischen Ihnen und AWS (je nachdem, was zutrifft) zur Verfügung gestellt. Sie sollten diese AWS-Inhalte nicht in Ihren Produktionskonten oder für Produktions- oder andere kritische Daten verwenden. Sie sind verantwortlich für das Testen, Sichern und Optimieren des AWS-Inhalts, z. B. des Beispielcodes, für die Verwendung in der Produktion auf der Grundlage Ihrer spezifischen Qualitätskontrollverfahren und -standards. Bei der Bereitstellung von AWS-Inhalten können AWS-Gebühren für die Erstellung oder Nutzung von kostenpflichtigen AWS-Ressourcen anfallen, z. B. für den Betrieb von Amazon-EC2-Instances oder die Nutzung von Amazon-S3-Speicher.
Verweise auf Services oder Organisationen von Drittanbietern in diesen Leitlinien bedeuten nicht, dass Amazon oder AWS eine Billigung, Förderung oder Zugehörigkeit zwischen Amazon oder AWS und dem Drittanbieter darstellt. Die Beratung durch AWS ist ein technischer Ausgangspunkt, und Sie können Ihre Integration mit Services von Drittanbietern anpassen, wenn Sie die Architektur bereitstellen.