Jak ustawić klucze partycji DynamoDB

Jak Ustawic Klucze Partycji Dynamodb



Produktywność dowolnej bazy danych zależy od dostępności danych, ponieważ wyszukiwanie elementu z kilku obiektów może okazać się gorączkowe. Często sposób wysyłania zapytań do bazy danych jest zawsze poważnym zagadnieniem. Klucze partycji to podstawowe punkty wejścia do DynamoDB, gdy chcesz tworzyć wysoce wydajne zapytania.

Zwykle klucze partycji w tabelach są unikatowe. W związku z tym niemożliwe jest posiadanie dwóch lub więcej elementów z tym samym kluczem partycji w jednej tabeli, ale w przypadku użycia w indeksach może się zdarzyć sytuacja odwrotna. Poza tym kluczy partycji nie można zmienić po utworzeniu tabeli, ponieważ są one niezmienne.







W tym artykule omówiono klucze partycji. Skoncentrujemy się na tym, dlaczego potrzebujesz kluczy partycji i najlepszych praktykach, których należy przestrzegać podczas ich ustawiania. Na koniec przyjrzymy się, w jaki sposób klucze partycji DynamoDB są niezbędne.



Co to jest klucz partycji DynamoDB i dlaczego jest ważny?

Klucz partycji to prosty klucz podstawowy w DynamoDB, często składający się z jednego atrybutu. Każdy element w tabeli DynamoDB ma unikalny klucz partycji, aby umożliwić szybkie i wydajne procesy zapytań.



Możesz sparować klucz podstawowy z kluczem sortowania, aby utworzyć złożony klucz podstawowy zawierający dwa atrybuty. Gdy są używane razem, można uporządkować wszystkie dane w kluczu partycji przy użyciu wartości klucza sortowania.





Ponieważ DynamoDB rezerwuje dane jako konsorcjum atrybutów zwanych pozycjami, atrybuty mają unikalne podstawowe klucze wartości dla łatwego dostępu. Warto zauważyć, że elementy w DynamoDB są podobne do rekordów, pól, kolumn lub wierszy w większości systemów baz danych.

Ponadto DynamoDB umożliwia dystrybucję danych na partycje o pojemności do 10 GB. Każda tabela może zatem mieć jedną lub więcej partycji. Możesz użyć wartości klucza partycji jako danych wejściowych dla wewnętrznej funkcji skrótu bazy danych, z danymi wyjściowymi funkcji skrótu, która określa partycję, w której przechowywany jest element. Poza tym lokalizacja elementu określa partycję, w której jest przechowywany.



Jak ustawić klucze partycji DynamoDB

Ustawienie kluczy partycji może być trudnym zadaniem, jeśli jeszcze nie rozumiesz tej koncepcji. Jednak proces ten może być łatwy i wydajny, gdy zbierzesz niezbędne wskazówki i sztuczki. Oto niektóre z najlepszych praktyk, których należy przestrzegać podczas konfigurowania kluczy partycji:

1. Wybierz odpowiednie klucze partycji

Rodzaj kluczy partycji określa wygodę i efektywność wykonywania zapytań dotyczących danych. Są to główne punkty wejścia do wysyłania zapytań do danych, a zdefiniowanie wzorców dostępu dla każdej aplikacji ma kluczowe znaczenie.

Podczas konfigurowania kluczy partycji DynamoDB zaleca się używanie atrybutów dużej liczności. Atrybuty o dużej liczności obejmują odrębne wartości dla każdego elementu i mogą obejmować identyfikator_pracownika, nr_pracownika, identyfikator_zamówienia, identyfikator e-mail, identyfikator klienta lub identyfikator zamówienia.

2. Użyj konwencji nazewnictwa PK

Klucze partycji często używają konwencji nazewnictwa pk. Ta metoda nazewnictwa gwarantuje precyzyjny mechanizm nazewnictwa bez dyskryminacji na podstawie reprezentowanego typu lub modelu elementu.

Na przykład, chociaż możesz pokusić się o użycie identyfikatora postID i identyfikatora użytkownika jako kluczy partycji dla modeli Post i User w tabeli, DynamoDB dopuszcza tylko jeden klucz partycji dla każdej tabeli. Dlatego nie możesz użyć dwóch w jednej tabeli. Należy zauważyć, że tabele bez kluczy sortowania mogą mieć klucze partycji identyfikatora.

3. Użyj atrybutów złożonych

Niektóre tabele bardziej korzystają z kluczy złożonych. Oznacza to, że potrzebujesz więcej niż jednego atrybutu, aby utworzyć unikalne klucze. Na przykład możesz wygodnie użyć identyfikatora_klienta, kodu_kraju i identyfikatora_produktu, aby utworzyć klucz partycji (identyfikator_klienta#kod_kraju#identyfikator_produktu). Jednocześnie możesz użyć identyfikatora zamówienia jako klucza sortowania.

4. Dodaj odpowiednio liczby losowe

Jeśli spodziewasz się ogromnej ilości zapisów dla każdego klucza, użycie dodatkowego prefiksu lub sufiksu sprawi, że przypadki intensywnego użycia będą bardziej wydajne. Na przykład możesz użyć numeru faktury wraz z zestawem liczb losowych jako klucza partycji. Pamiętaj, aby oddzielić różne sekcje klucza partycji. Na przykład InvoiceNumber#125656#0 jako klucz partycji jest idealny do intensywnego użytkowania z tysiącami zapisów na sekundę.

Utwórz klucz partycji DynamoDB

Podobnie jak w przypadku kluczy sortowania, tworzenie klucza partycji w DynamoDB obejmuje utworzenie schematu klucza dla tabeli. Oczywiście dzieje się tak podczas tworzenia tabeli. Często wiąże się to z opisaniem atrybutu przy użyciu nazwy atrybutu obok typu atrybutu. Pomoże w tym następująca składnia:

AttributeName=string,KeyType=string...

W podanej składni nazwa atrybutu jest rzeczywistą nazwą atrybutu, podczas gdy typem atrybutu może być String(S), Number(N) lub Binary(B).

Możesz także wybrać składnię JSON, jak pokazano poniżej:

[

{

'NazwaAtrybutu': 'ciąg znaków',

„KeyType”: „HASH”

}

...

]

Niezależnie od wybranej składni rola atrybutu przejmuje funkcję HASH, ponieważ tworzymy klucz partycji. Wręcz przeciwnie, typ klucza przyjmuje funkcję RANGE podczas tworzenia kluczy sortowania.

Na koniec można również zmienić klucz partycji za pomocą następującego narzędzia:

DynamoDBClient.updateItem({
'Nazwa_tabeli': 'moja_nazwa_tabeli',
'Klucz': {
'pk': {
„S”: „mój_klucz partycji”
}
},
'UpdateExpression': 'SET #emailaddress = :emailaddress',
'ExpressionAttributeNames': {
'#email': 'adres e-mail'
},
'ExpressionAttributeValues': {
':adres e-mail': {
'S': ' [chroniony e-mail] '
}
}
})

Podane narzędzie aktualizuje atrybut e-mail, aby wyglądał tak, jak masz w pliku [chroniony e-mail] dla elementu, w którym klucz partycji (pk) jest równy my_PartitionKey.

Wniosek

Podczas konfigurowania kluczy partycji DynamoDB nie ma jednej uniwersalnej metody. Tworzenie i używanie kluczy partycji zależy od przypadku użycia. Poza tym możesz przejrzeć różne dostępne podejścia i znaleźć najbardziej odpowiednie dla swojej aplikacji. Upewnij się, że przestrzegasz podanych wskazówek.