Introduktion till Amazon DynamoDB

Använda datalagringstjänster i AWS

Dunieski Otano

AWS Solutions Architect

Problemet med heta partitioner

  • Tänk dig en restaurang med en stressad kassör och tre sysslolösa
  • Det är vad som händer vid dålig design av partitionsnycklar
  • Het partition = en partition tar emot oproportionerligt mycket trafik medan övriga är overksamma.
  • Lösning: Partitionsnycklar med hög kardinalitet – attribut med många unika värden som fördelar data jämnt

partition

Använda datalagringstjänster i AWS

Vad kännetecknar en bra partitionsnyckel

  • Hög kardinalitet: Många unika värden
    • userId, orderId, sessionId – Ja
    • country, status, category – Nej
  • Jämn fördelning: Balanserade åtkomstmönster
  • Förutsägbar: Känd vid frågetillfället

cardinality

Använda datalagringstjänster i AWS

DynamoDB-tabellstruktur

  • Partitionsnyckel (obligatorisk): Styr datadistributionen
  • Sorteringsnyckel (valfri): Möjliggör intervallfrågor (t.ex. userId + orderDate)
  • Attribut: Ytterligare datafält
  • Primärnyckel = Partitionsnyckel ELLER Partitionsnyckel + Sorteringsnyckel

table

Använda datalagringstjänster i AWS

Skapa din första tabell

  • AWS Console: Snabb konfiguration för testning
  • boto3 (Python): Programmatisk tabellskapning
  • Viktiga val: Partitionsnyckel, sorteringsnyckel, faktureringsläge

first

Använda datalagringstjänster i AWS

Sammansatta nycklar och sorteringsnyckelfrågor

  • Sammansatt nyckel: Partitionsnyckel + Sorteringsnyckel
  • Intervallfrågor: Frågor inom datum- eller numeriska intervall
  • Operatorer: =, <, >, <=, >=, BETWEEN, begins_with
  • Exempel: Hämta beställningar för en användare de senaste 30 dagarna > $100

code

Använda datalagringstjänster i AWS

Kapacitetslägen: on-demand vs provisioned

  • On-Demand: Betala per förfrågan, skalas automatiskt
    • Passar bäst för: Oförutsägbar trafik, nya applikationer
  • Provisioned: Ange RCU/WCU, lägre kostnad i stor skala
    • Passar bäst för: Förutsägbar trafik, kostnadsoptimering
  • Kan byta läge en gång per 24 timmar

mode

Använda datalagringstjänster i AWS

Nu kör vi en övning!

Använda datalagringstjänster i AWS

Preparing Video For Download...