Introductie tot Amazon DynamoDB

Dataopslagdiensten gebruiken in AWS

Dunieski Otano

AWS Solutions Architect

Het hot-partitieprobleem

  • Stel je een restaurant voor met één drukke kassier en drie die niets doen
  • Dat is wat gebeurt bij een slechte partitiesleutel
  • Hot partition = één partitie krijgt veel te veel verkeer, de rest staat stil.
  • Oplossing: Partitiesleutels met hoge cardinaliteit: attributen met veel unieke waarden die gelijkmatig verdelen

partition

Dataopslagdiensten gebruiken in AWS

Wat een goede partitiesleutel maakt

  • Hoge cardinaliteit: Veel unieke waarden
    • userId, orderId, sessionId - Ja
    • country, status, category - Nee
  • Gelijke verdeling: Gebalanceerde toegangspatronen
  • Voorspelbaar: Bekend bij querytijd

cardinality

Dataopslagdiensten gebruiken in AWS

DynamoDB-tabelstructuur

  • Partitiesleutel (verplicht): Bepaalt gegevensverdeling
  • Sorteersleutel (optioneel): Maakt bereikqueries mogelijk (bijv. userId + orderDate)
  • Attributen: Extra gegevensvelden
  • Primaire sleutel = Partitiesleutel OF Partitiesleutel + sorteersleutel

table

Dataopslagdiensten gebruiken in AWS

Je eerste tabel maken

  • AWS Console: Snel opzetten voor tests
  • boto3 (Python): Programmatich tabellen maken
  • Belangrijke keuzes: Partitiesleutel, sorteersleutel, betalingsmodus

first

Dataopslagdiensten gebruiken in AWS

Samengestelde sleutels en sorteersleutel-queries

  • Samengestelde sleutel: Partitiesleutel + sorteersleutel
  • Bereikqueries: Query op datums of numerieke bereiken
  • Operatoren: =, <, >, <=, >=, BETWEEN, begins_with
  • Voorbeeld: Bestellingen van gebruiker in laatste 30 dagen > $100

code

Dataopslagdiensten gebruiken in AWS

Capaciteitsmodi: on-demand vs provisioned

  • On-demand: Betaal per request, schaalt automatisch
    • Beste voor: Onvoorspelbaar verkeer, nieuwe apps
  • Provisioned: Stel RCU/WCU in, lagere kosten op schaal
    • Beste voor: Voorspelbaar verkeer, kostenoptimalisatie
  • Je kunt 1× per 24 uur wisselen

mode

Dataopslagdiensten gebruiken in AWS

Laten we oefenen!

Dataopslagdiensten gebruiken in AWS

Preparing Video For Download...