Jak ustawić klucze partycji DynamODB

Jak ustawić klucze partycji DynamODB

Wydajność dowolnej bazy danych opiera się na dostępności danych, ponieważ wyszukiwanie elementu z kilku obiektów może okazać się gorączkowe. Często, jak zapytasz o bazę danych, jest zawsze poważnym rozważaniem. Klucze partycji są głównymi punktami wejścia w DynamoDB, gdy chcesz wykonać wysoce wydajne zapytania.

Zwykle klucze partycji między tabelami są wyjątkowe. Zatem niemożliwe jest posiadanie dwóch lub więcej elementów z tym samym kluczem partycji w jednej tabeli, ale odwrotność może nastąpić, gdy jest używany w indeksach. Poza tym klucze partycji nie można zmienić po utworzeniu stołu, ponieważ są one niezmienne.

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

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

Klucz partycji jest prostym kluczem podstawowym w DynamoDB, często składającym się z jednego atrybutu. Każda pozycja w tabeli DynamoDB ma unikalny klucz partycji, który umożliwia szybkie i wydajne procesy zapytania.

Możesz sparować klucz podstawowy z klawiszem sortowania, aby stworzyć złożony klucz podstawowy zawierający dwa atrybuty. Gdy używasz razem, możesz uporządkować wszystkie dane pod klawiszem partycji za pomocą wartości klucza sortowania.

Ponieważ DynamODB zastrzega się danych jako konsorcjum atrybutów o nazwie Items, atrybuty mają unikalne klucze wartości podstawowej dla łatwej dostępności. W szczególności elementy w DynamoDB są podobne do rekordów, pola, kolumn lub wierszy w większości systemów baz danych.

Ponadto DynamoDB pozwala rozpowszechniać dane na partycje do 10 GB. Każda tabela może zatem mieć jedną lub więcej partycji. Możesz użyć wartości klucza partycji jako wejścia do wewnętrznej funkcji skrótu bazy danych, z wyjściem z 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 klawiszy partycji może być zadaniem pod górę, jeśli jeszcze nie rozumiesz koncepcji. Jednak proces ten może być łatwy i wydajny po zebraniu niezbędnych wskazówek i sztuczek. Oto niektóre z najlepszych praktyk, które należy przestrzegać podczas konfigurowania kluczy partycji:

1. Wybierz odpowiednie klucze partycji

Rodzaj klawiszy partycji określają wygodę i wydajność zapytania o dane. Są to podstawowe punkty wejścia do zapytania o dane, a definiowanie wzorców dostępu każdej aplikacji jest krytyczne.

Wskazane jest użycie atrybutów o wysokiej kartynie podczas konfigurowania klawiszy partycji DynamoDB. Atrybuty o wysokiej kartynalności zawierają odrębne wartości dla każdego elementu i mogą obejmować pracowników, pracownika_no, order_id, e-mail, customerid lub custom.

2. Użyj konwencji nazewnictwa PK

Klucze partycji często używają konwencji nazewnictwa PK. Ta metoda nazewnictwa gwarantuje precyzyjny mechanizm nazywania bez rozróżniania na podstawie reprezentowanego typu lub modelu elementu.

Na przykład, chociaż możesz mieć pokusę korzystania z PostID i UserID jako klawisze partycji dla modeli postu i użytkowników w tabeli, DynamoDB umożliwia tylko jeden klawisz partycji dla każdej tabeli. Dlatego nie można użyć dwóch w jednym tabeli. Zauważ, że tabele bez klawiszy sortowania mogą mieć klawisze partycji identyfikacyjnej.

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

Niektóre tabele korzystają więcej z klawiszy kompozytowych. To znaczy, że potrzebujesz więcej niż jednego atrybutu, aby utworzyć unikalne klucze. Na przykład możesz wygodnie użyć Customer_id, Country_code i Product_ID, aby utworzyć klucz partycji (CustomerId#countryCode#produktId). Jednocześnie możesz użyć Order_ID jako klucza sortowania.

4. Odpowiednio dodaj liczby losowe

Jeśli spodziewasz się ogromnej objętości zapisów dla każdego klucza, przy użyciu dodatkowego prefiksu lub sufiksu uczyń obudowy ciężkiego użytkowania. 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, AfoiceNumber#125656#0 jako klucz do partycji jest idealny do intensywnego użytku z tysiącami zapisów na sekundę.

Utwórz klucz partycji DynamoDB

Podobnie jak klawisze sortowania, tworzenie klucza partycji w DynamoDB polega na tworzeniu schematu klucza do tabeli. Oczywiście dzieje się tak, gdy tworzysz tabelę. Często obejmuje opisanie atrybutu za pomocą nazwy atrybutu obok typu atrybutu. Poniższa składnia pomoże:

Atrybutename = String, KeyType = String…

W podanej składni nazwa atrybutu jest faktyczną nazwą atrybutu, podczas gdy typ atrybutu może być ciągami (s), liczbą (n) lub binarnym (b).

Możesz także użyć składni JSON, jak pokazano następująco:

[[[

„Atrybutename”: „string”,
„KeyType”: „Hash”


]

Niezależnie od tego składni, rola atrybutu zakłada funkcję skrótu, ponieważ tworzymy klucz partycji. Przeciwnie, typ klucza zakłada funkcję zakresu podczas tworzenia klawiszy sortowania.

Wreszcie, możliwe jest również zmiana klucza partycji za pomocą następującego narzędzia:

DynamodBClient.aktualizacja (
„TableName”: „MyTable_name”,
"Klucz":
„PK”:
„S”: „my_partitionkey”

,
„Aktualizacja Expression”: „Set #Emailaddress =: e -mailAddress”,
„ExpressionAttributenames”:
„#EMAIL”: „E -mail”
,
„ExpressionAttributeValues”:
„: e -mailAddress”:
„S”: „[email protected] "


)

Dane narzędzie aktualizują atrybut e -mailowy, aby wyglądać jak to, co masz na [email protected] dla elementu, w którym klawisz partycji (PK) jest równy my_partitionkey.

Wniosek

Podczas konfigurowania klawiszy partycji DynamODB nie ma pojedynczej metody uniwersalnej. Tworzenie i korzystanie z klawiszy partycji zależą od przypadku użycia. Poza tym możesz zajrzeć do różnych dostępnych podejść i znaleźć najbardziej odpowiedni dla swojej aplikacji. Upewnij się, że przestrzegasz danych wytycznych.