DynamoDB Composite Keys wszystko, co powinieneś wiedzieć

DynamoDB Composite Keys wszystko, co powinieneś wiedzieć

AWS DynamoDB polega na tabelach i indeksach do przechowywania i organizowania danych. W tych tabelach istnieją kluczowe klucze, które pomagają w organizacji danych i wyszukiwaniu przedmiotów. Zatem tabela lub indeks DynamoDB zawsze mają prosty klucz podstawowy lub złożony klucz podstawowy.

Omówiliśmy już proste klucze podstawowe na tej stronie. Ten artykuł koncentruje się na klawiszach partycji DynamoDB. Sekcje, które omówimy, zawierają definicję klucza złożonego, najlepsze praktyki tworzenia klawiszy złożonych i sposób utworzenia złożonego klucza do tabeli.

Jaki jest klucz kompozytowy DynamoDB?

Klucz kompozytowy DynamoDB to zestaw atrybutów składa się z klawisza partycji i klucza sortowania. Wszystkie tabele z klawiszami sortowania mają złożone klawisze podstawowe, podczas gdy wszystkie tabele bez klawiszy sortowania mają proste klawisze podstawowe. Są również znane jako klawisze z zakresu skrótów lub kompozytowe klawisze DynamoDB.

Co ciekawe, klucze złożone nie istnieją w elementach w tabeli, jak w przypadku innych atrybutów. Zamiast tego jest to abstrakcyjna koncepcja, którą możesz stworzyć lub myśleć jako kombinację klucza partycji i klucza sortowania.

Rozważ klawisze złożone jako główne klucze podczas zapytania o tabele lub podczas podejmowania operacji wymagających klucza podstawowego. Zatem wszystkie aktualizuj, usuwaj, aktualizuj lub dowolne elementy wymagające włączenia klucza podstawowego mają zarówno klucz partycji, jak i klawisz sortowania.

Podczas gdy klucz partycji lub prosty klucz podstawowy nadal pomaga w większości operacji, klawisze złożone dodają wydajność w większości operacji DynamoDB i poprawia wydajność Twojej bazy danych. Poza tym klucze partycji umożliwiają również efektywne filtrowanie wyników zapytania za pomocą operacji porównawczych.

Najlepsze praktyki do tworzenia klawiszy kompozytowych DynamoDB

Upewnij się, że przestrzegasz następujących:

Wybierz unikalny klucz partycji: Twój klucz do partycji powinien być wyjątkowy i mieć jak najwyższą litość, jak to możliwe. Klucz partycji o wyjątkowo niskiej kardynalności może wpływać na przechowywanie danych i dystrybucję danych.

Możesz użyć wartości, które nie są udostępniane między elementami w tabeli. Mogą zawierać adresy e -mail, numery identyfikacyjne lub nazwy użytkowników. Dlatego user_id działa dobrze w kolumnie klucza partycji dla tabeli użytkowników. Podobnie, tabela pracowników może mieć pracownika_dem jako klucz partycji.

Twój klucz sortowania powinien uzupełnić wzorce dostępu: Twój klucz sortowania powinien zebrać powiązane informacje w jednym miejscu do wydajnych operacji zapytania. Dobry klucz sortowania poprawia selektywność elementów tabeli podczas pobierania przez polecenie zapytania.

Jak utworzyć klucz złożony w DynamoDB

Aby utworzyć klucz złożony, możesz użyć polecenia Treate-Table z parametrami -ey-schema i -attribute-definitions.

Parametr -key -schema określa strukturę kluczowej tabeli i może zawierać jeden lub więcej elementów. Najpierw określ element schematu kluczowego, a następnie wszelkie wtórne indeksy. Każdy element w schemacie kluczowym składa się z nazwy atrybutu i typu klucza.

Z drugiej strony parametr -attribute -definitions określa atrybuty tworzące klucz podstawowy i wszelkie wtórne indeksy. Każda definicja atrybutu składa się z nazwy atrybutu i typu atrybutu.

Oto przykład, w jaki sposób możesz użyć tych parametrów do utworzenia tabeli DynamoDB z złożonym klawiszem podstawowym składającym się z dwóch atrybutów: parition_key i sort_key:

AWS DynamoDB Treate-Table \
--Nazwa tabeli \
--atrybut-definitions atrybtuteName = parition_key, atrybtuteType = s atrybtuteName = sort_key, atrybtuteType = s \
--Key-Schema atrybutename = parition_key, klawiszety = Hash atrybutename = sort_key, keyType = Range \
--Udostępniane przez readCapacicitunits = 10, WriteCapacicitunits = 10


Dane polecenie tworzy nową tabelę DynamoDB z kompozytowym klawiszem podstawowym składającym się z atrybutu parition_key jako klawisza partycji (HASH) oraz atrybutu sort_key jako klucza sort (zakresu). Przejdź do zdefiniowania atrybutów klucza podstawowego w parametrze -attribute -definitions i schematu kluczowego w parametrze -key -schema.

Możesz także utworzyć klucz złożony, po prostu definiując zarówno klawisz partycji elementu, jak i klawisz złożony za pomocą operacji putitem. Na przykład:

DynamodBClient.putitem (
„TableName”: „MyTableName”,
"Przedmiot":
„PK”:
„S”: „PartitionKey”
,
„SK”:
„S”: „sortkey”
,
"e-mail":
„S”: „[email protected] "


)

Wniosek

Ten artykuł zawiera wszystko, co musisz wiedzieć o klawiszach kompozytowych DynamoDB. W szczególności ważne jest, aby ostrożnie wybrać klucz partycji i kluczowe sortowanie, ponieważ znacząco wpływają one na wydajność i skalowalność tabeli DynamoDB. Klucz podstawowy złożony jest idealny do zapytania i filtrowania danych w DynamoDB na podstawie klucza partycji i klucza sortowania.