W ten sposób tworzenie jednego lub wielu lokalnych indeksów wtórnych zapewnia Twoim aplikacjom wybór, aby skorzystać z alternatywnych kluczy sortowania podczas wykonywania zapytań, zamiast polegać wyłącznie na kluczowych klawiszach stołu bazowego. Korzystanie z lokalnych indeksów wtórnych eliminuje potrzebę skanowania całych tabeli, ponieważ możesz po prostu użyć klucza sortowania do wykonywania szybkich zapytań.
Ta funkcja sprawia, że lokalne indeksy wtórne są niezbędne dla aplikacji, które skorzystałyby z alternatywnych kluczy sortowania. Utworzenie lokalnego indeksu wtórnego w tabeli DynamoDB umożliwia wydanie skanowania lub zapytania w stosunku do indeksów.
Jak utworzyć lokalny wskaźnik wtórny w tabeli DynamoDB
Zanim przejdziemy do tworzenia lokalnych indeksów wtórnych, należy zauważyć, że wszystkie lokalne indeksy wtórne muszą spełniać następujące warunki:
Musisz użyć parametru lokalizacyjny. Zwykle tworzenie LSI dzieje się podczas tworzenia tabeli DynamoDB. Podobnie usunięcie tabeli usuwa również wszystkie lokalne wtórne indeksy na tabeli.
Tworząc LSI, pamiętaj, aby określić pojedynczy atrybut, który działa jako klucz sortowania dla LSI. Wybranym atrybutem musi być liczba skalarna, ciąg lub binarny, ponieważ inne typy dokumentów, typy skalarne i typy zestawu są niedozwolone. Ponadto możesz wygodnie wyświetlić atrybuty, takie jak skalarne, zestawy i dokumenty w lokalnym indeksie wtórnym.
Korzystanie z lokalnych indeksów wtórnych DynamoDB
Poniżej znajdują się niektóre zastosowania przypadków dla lokalnych indeksów wtórnych:
A. Wykonanie zapytań i skanów
LSI Włącz różne zamówienia sortowania tej samej listy elementów. Chociaż używają różnych klawiszy sortowania, zawsze mają te same klucze partycji. Na przykład tabela z UserID jako kluczem partycji, SongTitle jako klucz sortowania, a dane i dane jako inne atrybuty wyglądają tak:
| UserID (klucz partycji) | SongTitle (klucz sort) | DateAdded | Dane |
Poprzednia tabela może odpowiedzieć na zapytania, które mają na celu odzyskanie wszystkich utworów, które są sortowane według nazw każdego użytkownika poprzez zapytanie o użytkownikaD. Jednak pobieranie wszystkich utworów na dodane przez użytkownika według daty oznacza, że odzyskujesz wszystkie utwory i sortuje je.
Nadal możesz używać lokalnego indeksu użytkownika z UserID jako kluczem partycji i danych w kategorii klucza sortowania i natychmiast pobrać utwory użytkownika, które są sortowane według daty dodanej. Wynika to z faktu, że operacje zapytań w lokalnych indeksach wtórnych zwracają wszystkie elementy, które noszą podobne wartości klucza partycji, ilekroć więcej niż jeden element udostępnia krótką wartość kluczową.
Znowu nie ma szczególnej kolejności, w której przychodzą pasujące elementy. Zapytania dotyczące LSIS Użyj silnej lub ostatecznej spójności. Silne konsekwentne leady naturalnie przywracają najnowsze wartości.
Z drugiej strony operacje skanowania LSI zwykle zwracają wszystkie lokalne dane wskaźnika wtórnego. Podczas robienia skanowania musisz określić zarówno nazwę tabeli, jak i indeksu. Poza tym skany pozwalają na użycie wyrażeń filtra w celu odrzucenia danych.
| UserID (klucz partycji) | DateAdded (klucz sort) | Songtitle | Dane |
B. Pisanie przedmiotów
Pisanie elementów na lokalnych indeksach wtórnych jest dość prostą operacją. Musisz zacząć od określania atrybutu klucza sortowania wraz z jego typem danych. Upewnij się, że typ każdego elementu musi być zgodny z jego typem danych schematu kluczowego na wypadek, gdyby element zdefiniował atrybut dowolnego klucza indeksu.
C. Kolekcje pozycji w lokalnych indeksach wtórnych
Zbiór elementów w DynamODB odnosi się do grupy elementów o podobnej wartości kluczowej partycji w tabeli i całej jej LSIS. W poniższym przykładzie nazwa tabeli to korespondencje, a klucz partycji to nazwa grupy. Nazwa drugiej tabeli to EasteMailIndex, ale ma tę samą nazwę partycji, która jest nazwa grupy.
Tabele i elementy indeksowe z klawiszem partycji nazwy grupy należą do tej samej kolekcji pozycji.
Wniosek
Lokalne indeksy wtórne DynamoDB są idealne do aplikacji, które korzystają z wykonywania zapytań za pomocą klawiszy sortowania Aternate. Możesz utworzyć jeden lub więcej LSI na aplikację w zależności od potrzeb. Ułatwiają pracę i zwiększają wydajność.