Struktur einer DynamoDB -Tabelle, um ASC oder DESAM -geordnete Pagination auf * Elementen in einer Tabelle zu ermöglichen

StackOverflow https://stackoverflow.com/questions/9304034

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.

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top