Wzorce dostępu do danych i modele spójności

Korzystanie z magazynów danych w AWS

Dunieski Otano

AWS Solutions Architect

Problem z rozwiązaniem „jeden rozmiar dla wszystkich"

  • Katalog produktów: tysiące odczytów/s, mało aktualizacji
  • Koszyk: częste zapisy
  • System zamówień: brak tolerancji na utratę danych
  • Różne wzorce dostępu wymagają różnych strategii przechowywania danych

users

Korzystanie z magazynów danych w AWS

Magazyn tymczasowy a trwały

  • Magazyn trwały: dane przeżywają restarty

    • Przechowywane na dysku, trwałe do momentu usunięcia
    • Przykłady AWS: DynamoDB, S3, RDS, OpenSearch
    • Zastosowania: dane użytkowników, transakcje, pliki, rekordy

    persistent

  • Magazyn tymczasowy: dane giną po restarcie
    • Przechowywane w pamięci, z założenia nietrwałe
    • Przykłady AWS: ElastiCache, EC2 Instance Store
    • Zastosowania: dane sesji, cache, tymczasowe obliczenia

ephemeral

Korzystanie z magazynów danych w AWS

Obciążenia z przewagą odczytów vs zapisów

  • Dużo odczytów: wiele odczytów, mało zapisów
    • Przykład: katalog produktów, wpisy na blogu
    • Najlepiej: DynamoDB, S3 z cache
  • Dużo zapisów: częste aktualizacje
    • Przykład: czujniki IoT, dane clickstream
    • Najlepiej: DynamoDB z auto-skalowaniem
  • Zrównoważony: zbliżona liczba odczytów i zapisów
    • Przykład: wpisy i komentarze w mediach społecznościowych
    • Najlepiej: DynamoDB ze zrównoważoną pojemnością

bars

Korzystanie z magazynów danych w AWS

Modele spójności w praktyce

  • Silna spójność: zawsze zwraca najświeższe dane
    • Wolniejsza, ale dokładna
    • Zastosowania: dane finansowe, stany magazynowe
  • Spójność ostateczna: może zwrócić nieaktualne dane
    • Szybsza, ale możliwe krótkie opóźnienia
    • Zastosowania: profile użytkowników, opisy produktów
  • Konsola DynamoDB: parametr ConsistentRead

 

table_query

Korzystanie z magazynów danych w AWS

Przegląd usług w konsoli AWS

  • Konsola DynamoDB: tabele, elementy, zapytania
  • Konsola S3: buckety, obiekty, właściwości
  • Konsola ElastiCache: Redis/Memcached, węzły, metryki
  • Każda usługa organizuje zasoby inaczej

services

Korzystanie z magazynów danych w AWS

Dopasowanie wzorców do usług

  • Dużo odczytów + spójność ostateczna = DynamoDB, S3
  • Dużo zapisów + wysoka przepustowość = DynamoDB
  • Warstwa cache = ElastiCache
  • Wyszukiwanie pełnotekstowe = OpenSearch

consistency

Korzystanie z magazynów danych w AWS

Czas na praktykę!

Korzystanie z magazynów danych w AWS

Preparing Video For Download...