Wprowadzenie do Amazon DynamoDB

Korzystanie z magazynów danych w AWS

Dunieski Otano

AWS Solutions Architect

Problem gorącej partycji

  • Wyobraź sobie restaurację z jednym przepracowanym kasjerem i trzema bezczynnym
  • Tak właśnie wygląda efekt złego doboru klucza partycji
  • Gorąca partycja = jedna partycja obsługuje nieproporcjonalnie duży ruch, podczas gdy pozostałe świecą pustkami.
  • Rozwiązanie: klucze partycji o wysokiej kardynalności — atrybuty z wieloma unikalnymi wartościami, które równomiernie rozkładają dane

partition

Korzystanie z magazynów danych w AWS

Co wyróżnia dobry klucz partycji

  • Wysoka kardynalność: wiele unikalnych wartości
    • userId, orderId, sessionId — Tak
    • country, status, category — Nie
  • Równomierny rozkład: zrównoważone wzorce dostępu
  • Przewidywalność: wartość znana w momencie zapytania

cardinality

Korzystanie z magazynów danych w AWS

Struktura tabeli DynamoDB

  • Klucz partycji (wymagany): decyduje o rozkładzie danych
  • Klucz sortowania (opcjonalny): umożliwia zapytania zakresowe (np. userId + orderDate)
  • Atrybuty: dodatkowe pola danych
  • Klucz główny = klucz partycji LUB klucz partycji + klucz sortowania

table

Korzystanie z magazynów danych w AWS

Tworzenie pierwszej tabeli

  • AWS Console: szybka konfiguracja do testów
  • boto3 (Python): tworzenie tabeli z poziomu kodu
  • Kluczowe decyzje: klucz partycji, klucz sortowania, tryb rozliczeń

first

Korzystanie z magazynów danych w AWS

Klucze złożone i zapytania z kluczem sortowania

  • Klucz złożony: klucz partycji + klucz sortowania
  • Zapytania zakresowe: filtrowanie po zakresach dat i wartości liczbowych
  • Operatory: =, <, >, <=, >=, BETWEEN, begins_with
  • Przykład: zamówienia danego użytkownika z ostatnich 30 dni powyżej 100 USD

code

Korzystanie z magazynów danych w AWS

Tryby pojemności: on-demand vs. provisioned

  • On-Demand: płatność za żądanie, automatyczne skalowanie
    • Idealne dla: nieprzewidywalnego ruchu i nowych aplikacji
  • Provisioned: ustalone RCU/WCU, niższy koszt przy dużej skali
    • Idealne dla: przewidywalnego ruchu i optymalizacji kosztów
  • Przełączanie trybów możliwe raz na 24 godziny

mode

Korzystanie z magazynów danych w AWS

Czas na praktykę!

Korzystanie z magazynów danych w AWS

Preparing Video For Download...