Ponieważ AWS DynamoDB jest bazą danych wartości kluczowej, każda pozycja w dowolnej tabeli musi mieć unikalną identyfikację klucza podstawowego. Ważne jest, aby pamiętać, że musisz zdefiniować te kluczowe klucze podczas tworzenia tabeli. Poza tym musisz podać klucz podstawowy dla każdego elementu, gdy wkładasz element do tabeli.
Głównym warunkami wstępnymi podczas konfigurowania głównych kluczy jest wyjątkowość. Dwa lub więcej elementów nie może mieć podobnego klucza podstawowego.
W tym artykule omówiono wszystko, co musisz wiedzieć o głównych klawiszach DynamoDB. Omówimy różne typy klawiszy pierwotnych używanych w DynamODB i jak skonfigurować każdy typ.
Rodzaje głównych kluczy DynamoDB
Istnieją dwa typy kluczowych kluczy w DynamoDB:
A. Klucz partycji (prosty klucz podstawowy)
Znany również jako prosty klucz podstawowy, klucz partycji składa się z jednego atrybutu. DynamODB używa wartości klucza partycji jako wejścia do wewnętrznej funkcji skrótu. Wyjście z funkcji skrótu określa partycję (fizyczne pamięć wewnętrzną do DynamoDB) do przechowywania elementów.
Prosty klucz podstawowy przypomina typowe sklepy z kluczami, takie jak użycie klucza podstawowego do dostępu do tabeli SQL. Możesz także ściśle powiązać kluczowe klucze do memcached the Data Stores. Doskonałym przykładem klawisza partycji jest nazwa_ser_name lub user_id w tabeli użytkowników.
Zobacz następujący przykład:
Tabela użytkowników
Tabela dostarczonych użytkowników ma UserID jako prosty klucz podstawowy lub klucz partycji. Możesz łatwo uzyskać dostęp do szczegółów dowolnych elementów w tabeli, dostarczając użytkownika elementu.
Oto przykład, w jaki sposób możesz ustawić klucz partycji w tabeli DynamoDB za pomocą AWS SDK dla Pythona (Boto3):
Import Boto3
# Utwórz klienta DynamoDB
DynamODB = Boto3.Klient („DynamODB”)
# Ustaw nazwę tabeli i atrybut (kolumna) do użycia jako klawisz partycji
TABLE_NAME = „MyTable”
parition_key_name = „id”
# Zdefiniuj schemat tabeli
TABLE_SCHEMA = [
„Atrybutename”: parition_key_name,
„KeyType”: „Hash”
]
# Utwórz tabelę z określonym kluczem partycji
Odpowiedź = DynamODB.Utwórz_tabel (
TableName = Table_name,
Keyschema = TABLE_SCHEMA,
Atrybedefinitions = [
„Atrybutename”: parition_key_name,
„AtrybtuteType”: „s”
],
ProvisionedThroughput =
„ReadCapacicitunits”: 5,
„WriteCapaciciteUnits”: 5
)
Drukuj (odpowiedź)
Podana składnia tworzy tabelę DynamoDB z klawiszem partycji o nazwie „id” typu „S” (string). Kluczowy typ „skrótu” określa, że ten atrybut jest kluczem do partycji.
Zauważ, że to tylko jeden sposób na ustawienie klucza partycji w DynamoDB. Możesz także użyć konsoli zarządzania AWS, AWS CLI lub innych metod utworzenia tabeli z kluczem do partycji.
B. Klucz partycji i klucz (złożone klawisze podstawowe)
Złożony klucz podstawowy zawiera dwa atrybuty. Pierwszym atrybutem jest klucz partycji, a drugi to klucz sortowania. Łączenie klucza partycji i klucza sortowania tworzy unikalny identyfikator elementu w tabeli.
Oprócz klawisza partycji możesz użyć klucza sortowania, aby zawęzić wyszukiwanie elementu w tabeli. Klucz sortowania pomaga również określić kolejność, w której dane są przechowywane w ramach partycji. Zobacz następujący schemat:
Tabela muzyczna
Poprzednia tabela ma zarówno atrybut klucza partycji, jak i atrybut klucza sortowania. Zatem dwa elementy mogą mieć tę samą wartość klucza partycji, ale mają różne wartości klucza sortowania. Klucze złożone (artysta i piosenka) w tabeli muzycznej pomaga uzyskać określony przedmiot.
Możesz utworzyć tabelę z klawiszem złożonym za pomocą następujących kroków:
Krok 1: Utwórz klucz partycji
Pierwszym krokiem jest utworzenie klucza partycji. Po wprowadzeniu nazwy tabeli użyj następującej składni, aby utworzyć klucz partycji.
Atrybutename = String, KeyType = String…
Dostarczona składnia typu atrybutu może być ciągami, liczbą (n) lub binarnymi (b).
Jeśli okaże się, że w ustawianiu klawisza partycji znajdziesz kłopotliwą składnię, możesz użyć następującej składni JSON:
[[[
„Atrybutename”: „string”,
„KeyType”: „Hash”
…
]
Alternatywnie, polecenie Pythona, które zostało omówione we wcześniejszej sekcji tego artykułu, może pomóc w utworzeniu klucza partycji.
Krok 2: Utwórz klucz sortowania
Możesz teraz utworzyć klawisz sortowania za pomocą następującej składni JSON. Nie używaj atrybutów identyfikatorów dla klawiszy sortowania. Zamiast tego możesz użyć typu atrybutu.
[[[
„Atrybutename”: „string”,
„KeyType”: „Zakres”
…
]
Podczas gdy używamy funkcji skrótki podczas tworzenia klawisza partycji DynamoDB, teraz używamy funkcji Range, aby skonfigurować klucz SORT DynamoDB.
Wniosek
Wybierając prawidłowe klucze podstawowe dla tabeli, możesz skutecznie odzyskać i przechowywać dane w DynamoDB. Konieczne jest dokładne rozważenie kluczowego klucza przy projektowaniu stołu, ponieważ znacząco wpływa na wydajność i skalowalność aplikacji. Jeśli zdecydujesz się na dodanie klucza sortowania, upewnij się, że używasz atrybutu, który szybko pomaga uporządkować elementy w tabeli.