Struktur einer DynamoDB -Tabelle, um ASC oder DESAM -geordnete Pagination auf * Elementen in einer Tabelle zu ermöglichen
-
25-10-2019 - |
Frage
Ich möchte nach Zeit/Datum order_by bestellen und alle Elemente in einer Tabelle durchsetzen. Scan Scheint so konzipiert zu sein, alles durch alles zu pagieren, scheint aber kein "ASC/Desc" -Aquiv zu haben. Anfrage hat ScanIndexforward erfordert jedoch spezifische Primärschlüssel. (Keine Möglichkeit zu wählen *?)
Basierend auf Erster Kommentar dieser Frage Ich denke, der einzige Weg, dies zu erreichen, besteht darin, einen gemeinsamen Primärschlüssel (!?) Und dann basierend darauf zu verwenden und sich auf den Bereichsschlüssel zu konzentrieren. Soll es wirklich so funktionieren? Ich müsste eine ganz separate Tabelle mit gespiegelten Attributen erstellen, wenn ich einen einzelnen Element basierend auf einem einzigartigen Primärschlüssel abfragen wollte.
Bitte entschuldigen Sie meine NoSQL -Noobess. Ich bin ein Front-End-Entwickler, der sich nur in MySQL und SimpledB beschäftigt.
Lösung
Ja, das ist was Query
ist für. Der Hash -Schlüssel identifiziert die Liste der Dinge, die über die Seite stehen sollen, und der Bereichsschlüssel zeigt die Position in der Liste an. Wenn Sie den Latenz -Hit tolerieren können, müssen Sie lediglich in der Tabelle primäre Schlüssel speichern, bei denen alle Daten über das Leben eingelegt werden, dann können Sie a dann a BatchGetItem
eine Seite mit Daten parallel lesen.
Doppelte Daten sind nicht die Sünde in NoSQL, die im relationalen Modell enthalten ist. Sie erstellen im Wesentlichen einen MySQL -Style -Index von Hand.