Dynamodb lokale Sekundärindizes

Dynamodb lokale Sekundärindizes
Die dynamodb lokalen sekundären Indizes, auch als LSIS bezeichnet, halten Kopien oder Replikate aller oder einiger Tabellenattribute auf. Sie bieten auch alternative Sortierschlüssel für Partitionswertschlüssel. Sie verwenden verschiedene Sortierschlüssel, um Ihre Daten mithilfe der Tabellenpartitionschlüssel zu organisieren.

Das Erstellen einer oder mehreren lokalen sekundären Indizes bietet Ihren Anwendungen die Wahl, von alternativen Sortierschlüssel bei der Ausführung der Abfragen zu profitieren, anstatt sich ausschließlich auf die primären Schlüssel der Basistabelle zu verlassen. Die Verwendung lokaler Sekundärindizes beseitigt die Notwendigkeit von gesamten Tabellen -Scans, da Sie einfach einen Sortierschlüssel verwenden können, um schnelle Abfragen auszuführen.

Diese Funktion macht lokale sekundäre Indizes für Anwendungen von entscheidender Bedeutung, die von alternativen Sortierschlüssel profitieren würden. Durch das Erstellen eines lokalen Sekundärindex in einer DynamoDB -Tabelle können Sie einen Scan oder eine Abfrage anhand der Indizes ausstellen.

So erstellen Sie einen lokalen Sekundärindex in einer DynamoDB -Tabelle

Bevor wir die lokalen sekundären Indizes erstellen, ist es wichtig zu beachten, dass alle lokalen sekundären Indizes die folgenden Bedingungen erfüllen müssen:

  • Haben Sie einen Sorttaste, der nur ein einzelnes Skalarattribut enthält
  • Haben identische Partitionschlüssel und Quelltabellen -Partitionschlüssel
  • Projizieren Sie den Quellentabellensortschlüssel, um als Nicht-Key-Attribut zu fungieren
  • Tabellen mit LSIs haben eine Sizelimit von bis zu 10 GB pro Partition Schlüsselwert
  • LSIs können den Durchsatz mit Basistischen teilen

Sie müssen den Parameter für localsecondaryIndexes im erstellbaren Vorgang verwenden, um einen lokalen Sekundärindex zu erstellen. Normalerweise erfolgt das Erstellen eines LSI, wenn Sie eine DynamoDB -Tabelle erstellen. In ähnlicher Weise entfernt das Löschen einer Tabelle auch alle lokalen sekundären Indizes auf der Tabelle.

Denken Sie beim Erstellen eines LSI daran, ein einzelnes Nicht-Key-Attribut anzugeben, das als Sortierschlüssel für das LSI fungiert. Das ausgewählte Attribut muss eine Skalarnummer, eine String oder binär sein, da andere Dokumenttypen, Skalartypen und festgelegte Typen nicht zugelassen sind. Darüber hinaus können Sie die Attribute wie Skalare, Sätze und Dokumente bequem in Ihren lokalen Sekundärindex projizieren.

Verwenden von dynamodb lokalen Sekundärindizes

Im Folgenden sind einige der Fall verwendet, um lokale sekundäre Indizes zu verwenden:

A. Abfragen und Scans durchführen
LSIs ermöglichen die unterschiedlichen Sortieraufträge derselben Elementliste. Während sie unterschiedliche Sortenschlüssel verwenden, haben sie immer die gleichen Partitionschlüssel. Zum Beispiel eine Tabelle mit der Benutzer -ID als Partitionschlüssel, Songtitle als Sort -Schlüssel und Dateaded und Daten, wie andere Attribute wie folgt aussehen:

| UserId (Partitionschlüssel) | SongTitle (Sortierschlüssel) | Datadeded | Daten |

Die vorherige Tabelle kann Abfragen beantworten, die darauf abzielen, alle Songs abzurufen, die für jeden Benutzer mit Namen sortiert werden, indem Sie die BenutzerID abfragen. Wenn Sie jedoch alle Songs pro Benutzer nach Datum abrufen, werden Sie alle Songs abrufen und sortieren.

Sie können weiterhin einen lokalen Benutzerindex mit einer Benutzer -ID als Partitionschlüssel und die in der Kategorie Sortierschlüsseldategorie verwendeten verwenden und sofort alle Benutzer -Songs abrufen, die nach Datum hinzugefügt werden. Dies liegt daran.

Auch hier gibt es keine bestimmte Reihenfolge, dass die passenden Elemente kommen. Abfragen zu LSIs verwenden entweder eine starke oder eventuelle Konsistenz. Starke konsequente Leads bringen natürlich die neuesten Werte zurück.

Andererseits geben LSI -Scan -Operationen normalerweise alle lokalen Sekundärindexdaten zurück. Bei einem Scan müssen Sie sowohl den Tabellen- als auch den Indexnamen angeben. Außerdem ermöglichen Scans die Verwendung von Filterausdrücken, um die Daten zu verwerfen.

| UserId (Partitionschlüssel) | DateLeded (Sortieren Sie Schlüssel) | SongTitle | Daten |

B. Artikel schreiben
Das Schreiben von Gegenständen auf lokalen Sekundärindizes ist ein ziemlich einfacher Betrieb. Sie müssen neben dem Datentyp mit der Angabe eines Sort -Schlüsselattributs beginnen. Stellen Sie sicher, dass der Typ jedes Elements mit seinem Datentyp seines Schlüsselschemas übereinstimmen muss, falls das Element ein Attribut eines beliebigen Indexschlüssels definiert.

C. Artikelsammlungen in lokalen Sekundärindizes
Eine Artikelsammlung in DynamoDB bezieht. Im folgenden Beispiel ist der Tabellenname Korrespondenzen und der Partitionschlüssel ist GroupName. Der Name der zweiten Tabelle ist lastemailIndex, aber er trägt den gleichen Partitionsnamen, der GroupName ist.

Die Tabellen und Indexelemente mit dem Gruppe "GroupName Partition" gehören zur gleichen Elementsammlung.

Abschluss

DynamoDB Lokale Sekundärindizes sind ideal für Anwendungen, die von der Durchführung der Abfragen mithilfe von Aterate -Sortierschlüssel profitieren. Sie können je nach Ihren Anforderungen eine oder mehrere LSIs pro Anwendung erstellen. Sie erleichtern Ihre Arbeit und steigern Ihre Produktivität.