Jak ustawić klucz sortowania DynamoDB

Jak Ustawic Klucz Sortowania Dynamodb



Popularność DynamoDB stale rośnie dzięki możliwości organizowania danych w tabelach. Poza tabelami DynamoDB ma klucze podstawowe, które pomagają w użyteczności bazy danych i wygodzie związanej z przetwarzaniem zapytań i skanowaniem tabeli lub bazy danych.

Zrozumienie, jak ustawić klucze sortowania DynamoDB podczas tworzenia tabel, znacznie ułatwia organizowanie danych. Co więcej, poprawia efektywność odzyskiwania danych, gdy tylko czegoś potrzebujesz.

Ten artykuł koncentruje się na kluczach sortowania DynamoDB. Oprócz omówienia, czym są klucze sortowania DynamoDB, omówimy również, jak je ustawiać i używać.







Czym są klucze sortowania DynamoDB i kiedy mają zastosowanie?

Klucze sortowania to atrybuty używane w DynamoDB do organizowania elementów w partycji. Zazwyczaj kilka elementów może mieć podobne wartości klucza partycji, ale różne wartości klucza sortowania. Oczywiście DynamoDB obsługuje tylko klucze partycji i łączenie zarówno kluczy partycji, jak i kluczy sortowania w jednej tabeli.



W takich przypadkach klucz podstawowy składa się z klucza partycji i klucza sortowania, a ich wartości to odpowiednio productID i productType. Ta kombinacja atrybutów, znana jako klucz złożony, sprawia, że ​​wyszukiwanie elementów jest łatwiejsze i bardziej wydajne. Ponadto klucz partycji wykorzystuje wewnętrzną funkcję HASH, podczas gdy klucz sortowania wykorzystuje funkcję RANGE.



Przewodnik krok po kroku dotyczący konfigurowania klucza sortowania w tabelach Dynamo DB

Podobnie jak w przypadku kluczy partycji, tworzenie kluczy sortowania DynamoDB odbywa się podczas konfigurowania tabeli DynamoDB. Oba przypadki wymagają najpierw utworzenia schematu klucza. Ponieważ klucze sortowania nie są niezależne i współpracują z kluczami partycji w kombinacji podstawowego klucza złożonego lub klucza zakresu mieszania, zacznij od utworzenia klucza partycji dla swojej tabeli.





Krok 1: Utwórz klucz partycji dla swojego stołu

Klucze sortowania mają bezpośredni związek z kluczami partycji. A ponieważ klucz partycji jest najbardziej dominujący w układzie DynamoDB, zacznij od utworzenia klucza partycji po wprowadzeniu nazwy tabeli. Możesz użyć następującej skróconej składni:

AttributeName=string,KeyType=string...

Typ atrybutu w składni skróconej może być a Ciąg(S), Liczba(N) lub Binarny(B). Ale jeśli składnia skrócona okaże się kłopotliwa podczas ustawiania klucza partycji, możesz użyć następującej składni JSON:



[
{
'NazwaAtrybutu': 'ciąg znaków',
„KeyType”: „HASH”
}
...
]

Krok 2: Dodaj klucz sortowania

Kontynuuj, aby dodać klucz sortowania, używając następującej składni JSON. Klucz sortowania nie powinien być identyfikatorem. Zamiast tego użyj atrybutu Typ.

[
{
'NazwaAtrybutu': 'ciąg znaków',
„Typ klucza”: „ZAKRES”
}
...
]

Zauważ, że użyliśmy funkcji HASH podczas tworzenia klucza partycji DynamoDB. Teraz używamy funkcji RANGE podczas konfigurowania klucza sortowania DynamoDB.

W konsoli zarządzania AWS masz opcje dodawania klucza sortowania, oznaczania go tak, jak pokazano, i dodawania klucza. Na przykład możemy mieć identyfikator_klienta lub identyfikator_zamówienia jako klucz partycji i numer_faktury jako klucz sortowania w tabeli dla nowych zamówień.

Zapoznaj się z poniższą ilustracją:

Należy zauważyć, że zarówno klucz partycji, jak i atrybuty klucza sortowania mogą mieć postać String(S), Number(N) lub Binary(B).

W Javie tablica Music zawierająca zarówno klucz partycji, jak i klucz sortowania powinna wyglądać następująco:

pakiet com.dynamoDbDemo.entity;
importuj com.amazonaws.services.dynamodbv2.datamodeling.*;

@DynamoDBTable(nazwatabeli = 'Muzyka')
klasa publiczna Muzyka {
prywatny artysta smyczkowy;
prywatna piosenka StringTitle;

@DynamoDBHashKey(attribute)
}

public void setSongTitle(String SongTitle) {
this.Tytuł piosenki = Tytuł piosenki;
}

@DynamoDBRangeKey(attribute) // klucz sortowania

publiczny Ciąg getSongTitle() {
zwróć tytuł piosenki;
}

public void setSongTitle(String songTitle) {
this.Tytuł piosenki = Tytuł piosenki;
}

W poprzednich wierszach poleceń DynamoDBTable to adnotacja Java używana do mapowania właściwości na atrybut table, podczas gdy adnotacja DynamoDBHashKey przypisuje klucz partycji. Podobnie adnotacja DynamoDBRangeKey dedykuje element atrybutowi klucza sortowania. Możesz przystąpić do dodawania innych niż podstawowe atrybutów do swojej tabeli.

Wniosek

W tym przewodniku omówiono sposób konfigurowania klucza sortowania w tabeli DynamoDB. Pamiętaj, że nie możesz zmienić utworzonych atrybutów klucza sortowania. Ponownie należy pamiętać, że DynamoDB będzie wysyłać zapytania do tabel i indeksów tylko przy użyciu klucza partycji i klucza sortowania. Nie można używać samych kluczy sortowania do wykonywania zapytań w tabelach. Upewnij się, że najpierw określiłeś klucz partycji.