Bewährte Methoden für die Verwendung von Sortierschlüsseln zur Organisation von Daten in DynamoDB - Amazon-DynamoDB

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 Verwendung von Sortierschlüsseln zur Organisation von Daten in DynamoDB

In einer Amazon DynamoDB-Tabelle kann der Primärschlüssel, der jedes Element in der Tabelle eindeutig identifiziert, aus einem Partitionsschlüssel und einem Sortierschlüssel bestehen.

Gut konzipierte Sortierschlüssel haben zwei wichtige Vorteile:

  • Sie bringen verwandte Informationen an einem Ort zusammen, an dem sie effizient abgefragt werden können. Wenn der Sortierschlüssel sorgfältig entworfen ist, können Sie allgemein benötigte Gruppen verwandter Elemente mithilfe von Bereichsabfragen mit Operatoren wie begins_with, between, >, < usw. abrufen.

  • Mit zusammengesetzten Sortierschlüsseln können Sie hierarchische (one-to-many) Beziehungen in Ihren Daten definieren, die Sie auf jeder Hierarchieebene abfragen können.

    In einer Tabelle, in der geografische Standorte aufgeführt sind, können Sie den Sortierschlüssel beispielsweise wie folgt strukturieren.

    [country]#[region]#[state]#[county]#[city]#[neighborhood]

    Sie könnten dann effiziente Bereichsabfragen für eine Liste von Standorten auf einer dieser Aggregationsebenen durchführen, von country bis hin zu neighborhood und auf allen Ebenen dazwischen.

Verwenden von Sortierschlüsseln für die Versionskontrolle

Viele Anwendungen müssen einen Versionsverlauf auf Elementebene für Prüfungs- oder Compliance-Zwecke pflegen und die neueste Version problemlos abrufen können. Es gibt ein effizientes Entwurfsmuster, das zu diesem Zweck Sortierschlüsselpräfixe verwendet:

  • Erstellen Sie von jedem neuen Element zwei Kopien: Eine Kopie sollte das Versionsnummernpräfix null (z. B. v0_) zu Beginn des Sortierschlüssels haben, die andere das Versionsnummernpräfix eins (z. B. v1_).

  • Verwenden Sie bei jeder Aktualisierung des Elements das nächsthöhere Versionspräfix im Sortierschlüssel der aktualisierten Version und kopieren Sie die aktualisierten Inhalte in das Element mit dem Versionspräfix null. So kann die neueste Version eines Elements leicht anhand des Präfixes null gefunden werden.

Ein Teilehersteller beispielsweise könnte ein wie im Folgenden dargestelltes Schema verwenden.

Beispiel für die Versionskontrolle. Dargestellt ist eine Tabelle mit Primärschlüssel und Datenelementattributen.

Das Element Equipment_1 durchläuft eine Reihe von Prüfungen durch verschiedene Prüfer. Die Ergebnisse jeder neuen Prüfung werden in einem neuen Element in der Tabelle erfasst, dabei wird mit Versionsnummer eins begonnen und die Zahl wird bei jeder nachfolgenden Überarbeitung schrittweise erhöht.

Immer wenn eine neue Überarbeitung hinzugefügt wird, werden die Inhalte des Elements der Version null (mit dem Sortierschlüssel v0_Audit) von der Anwendungsebene durch die Inhalte der neuen Überarbeitung ersetzt.

Wenn die Anwendung den Status der aktuellsten Prüfung abrufen muss, kann sie das Sortierschlüsselpräfix v0_ abfragen.

Wenn die Anwendung den gesamten Revisionsverlauf abrufen muss, kann sie alle Elemente unter dem Partitionsschlüssel des Elements abfragen und das Element v0_ herausfiltern.

Dieses Design funktioniert auch für Prüfungen mehrerer Teile eines Geräts, wenn Sie das einzelne Teil- IDs in den Sortierschlüssel nach dem Sortierschlüsselpräfix aufnehmen.