Das Verwalten der voluminösen Datenmengen kann für Datenmanager eine bergabere Aufgabe sein, hauptsächlich, wenn Ihre Abfrage- oder Scanergebnisse auf mehrere Seiten übertragen werden. Durch die Paginierung in DynamoDB können die Datenbank die großen Datenmengen behandeln, indem die Ergebnisse in mehrere überschaubare Seiten unterteilt werden.In diesem Artikel werden die DynamoDB-Pagination erläutert und bietet verschiedene mögliche Anwendungsfälle und Beispiele. Es wird auch hervorgehoben, wie sich die Pagination in DynamoDB von der Pagination in anderen Datenbanken unterscheidet.
Was ist Paginierung in DynamoDB?
Im Allgemeinen ist Pagination, die aus den Wortseiten abgeleitet ist, eine Technik, die von Datenbanken verwendet wird. Und da AWS DynamoDB die Speicherung großer Datenmengen unterstützt, verfügt es über zuverlässige Paginierungsfunktionen.
Die DynamoDB -Paginationskomponente stellt sicher, dass Sie nur bis zu 1 GB Daten pro Scan oder Abfrage abrufen können. Während dies eine Standardeinstellung ist, können Sie in einer Abfrage einen Limit -Parameter hinzufügen, um ein Limit anzugeben. Sie können eine Grenze für die Anzahl der Datensätze in jeder Scan -Abfrage weiter festlegen.
Bemerkenswerterweise bestehen einige Unterschiede zwischen der Pagination in DynamoDB und der Pagination in einer typischen SQL -Datenbank. Am offensichtlichsten ist jeder paginierte Datensatz, der in DynamoDB abgerufen wird. Diese Funktion macht Pagination zu einem wesentlichen Faktor bei der Begrenzung der abgerufenen Aufzeichnungen und der direkten Kosten.
So verwenden Sie Pagination in DynamoDB
1. Paginierung während eines Abfragebetriebs
In DynamoDB gibt eine Abfrage nur die Ergebnisse von bis zu 1 MB zurück. Sie können jedoch effektiv bestätigen, ob es mehr Ergebnisse gibt, indem Sie Ihre Ergebnisse untersuchen. Bemerkenswerterweise enthält ein Abfragebetriebsergebnis auf niedriger Ebene ein Element von LasteValuatedKey, das nicht null ist, um anzuzeigen, dass es mehr Elemente in Bezug auf Ihre Abfrage gibt, die Sie abrufen sollten.
Ein Ergebnis ohne Nicht-Null-Element ohne Last-ValuatedKey impliziert, dass alle Elemente, die der Abfrage übereinstimmen. Natürlich können Sie auch eine Grenze für die Anzahl der Elemente pro Ergebnis festlegen. Siehe den folgenden Beispielbefehl:
AWS Dynamodb Query \Sie können den vorherigen Befehl verwenden, um Ihre Tabelle für die Elemente mit den gleichen Ausdruckswerten für Schlüsselbedingung abzufragen. Suchen wir unsere Tabelle "Bestellungen" nach Order_ids von Darry Tech. Wir setzen auch ein Limit auf 10 Elemente pro Seite. Eine weitere Option für den Parameter -Limit -Parameter besteht darin, den Parameter -Seitengröße für denselben Zweck zu verwenden.
Pagination ist ein automatischer Betrieb in AWS CLI für Elemente unter 1 MB Daten. Sie können dem Befehl einen exklusiven Startschlüssel hinzufügen, wenn Ihre Abfrage in einer bestimmten Bestellung startet.
Die Antwort sieht so aus:
Die bereitgestellten Ergebnisse zeigen 10 Darry Tech auf der ersten Seite. Sie können die Werte von Last -ArevaluatedKey verwenden, um mehr Bestellungen zu erhalten, die den Ausdrucksschlüsselwerten Ihrer Suche entsprechen, um eine neue Abfrage zu erstellen. Die neue Abfrageanforderung enthält die Werte für den Last -ArevaluatedKey im Parameter ExclusivEverStartkey.
Ein Beispiel für die Syntax ist im Folgenden dargestellt:
AWS Dynamodb Query \Der vorherige Befehl erzeugt die nächsten Setoff -Bestellungen auf der nächsten Seite, beginnend mit der Bestell -ID, die den angegebenen Primärschlüssel enthält, i.e. "PartitionKey": "S": Darry Tech "," Sortkey ": " S ":" 5356-sy ".
2. Paginierung während des Scanvorgangs
Es ist auch möglich, die Pagination für Scanoperationen zu verwenden. Alles funktioniert genauso wie bei den Anfragenbefehlen. Sie müssen jedoch das Filter-Expressions-Attribut verwenden. Der Befehl sieht aus wie das, was wir hier haben:
AWS DynamoDB Scan \Der vorherige Befehl resultiert bis zu 20 Elemente pro Seite aus der mytabellen Tabelle, beginnend mit dem Element, dessen Primärschlüssel „Partitionkey“ ist: „ABC123“, „Sortkey“: „XYZ987“. Es filtert die Ergebnisse so, dass nur die Elemente enthalten sind, bei denen das Attributename -Attribut den Wert "ABC123" enthält.
In der Antwort die Laste -ArevaluatedKey Das Feld enthält den Primärschlüssel des letzten Elements im Ergebnissatz. Sie können diesen Wert als den verwenden ExklusivstartKey in einem nachfolgenden Scan Betrieb zum Abrufen der nächsten Ergebnisse der Ergebnisse.
Abschluss
Die Paginierung in DynamoDB verbessert die Verwaltbarkeit von Daten. Es ist jedoch wichtig zu wissen, ob Ihre Systeme von Pagination profitieren werden. Es ist erforderlich, Pagination zu verwenden, wenn Sie eine lange Liste von Elementen in einer Anwendung haben. Während sich die bereitgestellte Illustration auf den AWS -CLI -Anruf konzentriert, können Sie auch Pagination mit AWS -SDKs wie Pythons BOTO3 oder einer beliebigen SDK verwenden, die Sie bevorzugen.