AWS för backendutvecklare (EC2, S3, RDS, Lambda) · Lektion

Introduktion till DynamoDB

Förstå fördelarna med en helt hanterad NoSQL-databastjänst, dess konsekvensmodeller och grundläggande komponenter.

Lektion 2 av 411 steg

Introduktion till DynamoDB är en gratis lektion i AWS för backendutvecklare (EC2, S3, RDS, Lambda) på CoddyKit. Detta är lektion 2 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för AWS för backendutvecklare (EC2, S3, RDS, Lambda), och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i AWS för backendutvecklare (EC2, S3, RDS, Lambda) innehåller totalt 4 lektioner.

Välkommen till DynamoDB!

Amazon DynamoDB är en fullständigt hanterad NoSQL-databastjänst från AWS. Den är utformad för applikationer som kräver hög prestanda i alla skalor, vilket gör den perfekt för moderna webb-, mobil-, spel-, annonsteknik- och IoT-applikationer.

Som NoSQL-databas erbjuder den flexibilitet genom sin schemalösa design, vilket innebär att du inte behöver definiera en strikt tabellstruktur i förväg.

NoSQL jämfört med traditionell SQL

Till skillnad från traditionella relationsdatabaser (SQL), som använder fasta scheman och tabeller med rader och kolumner, är DynamoDB en NoSQL-databas (Not Only SQL). Den lagrar data i ett flexibelt, dokumentliknande format.

  • Flexibilitet: Inget fast schema, vilket gör det enkelt att vidareutveckla datamodellen.
  • Skalbarhet: Utformad för mycket stor skala med jämn prestanda.
  • Prestanda: Ger svarstider på ensiffriga millisekunder i alla skalor.
  • Fullständigt hanterad: AWS hanterar patchning, säkerhetskopiering och skalning, så att du slipper.

Grunden: DynamoDB-tabeller

I DynamoDB organiseras dina data i tabeller. En tabell är en samling objekt, ungefär som en tabell i en relationsdatabas är en samling rader.

Du kan till exempel ha en Users-tabell, en Products-tabell eller en Orders-tabell, där varje tabell innehåller relaterade data.

Dataenheter: Objekt och attribut

Varje tabell innehåller objekt. Ett objekt är en grupp attribut som kan identifieras unikt bland alla andra objekt. Se ett objekt som en rad i en relationsdatabas.

Ett attribut är ett grundläggande dataelement, ungefär som en kolumn. Till skillnad från SQL kan attribut läggas till eller tas bort från objekt dynamiskt, och olika objekt i samma tabell kan ha olika attribut.

Identifiera objekt unikt

Varje objekt i en DynamoDB-tabell måste ha en primärnyckel som identifierar det unikt. Det finns två typer av primärnycklar:

  • Partitionsnyckel: En enkel primärnyckel, till exempel ett användar-ID. DynamoDB använder dess värde som indata till en intern hashfunktion för att avgöra var objektet ska lagras.
  • Sammansatt primärnyckel: Består av en partitionsnyckel och en sorteringsnyckel. Det möjliggör mer komplexa frågor och säkerställer unikhet inom en partition.

Primärnyckeln i praktiken

Anta att ni har en tabell med namnet Orders. Ni kan använda OrderID som en enkel partitionsnyckel.

För en tabell med namnet ForumPosts kan ni använda ThreadID som partitionsnyckel och PostDateTime som sorteringsnyckel. Då kan ni hitta alla inlägg i en tråd sorterade efter tid.

{
  "TableName": "ForumPosts",
  "KeySchema": [
    {"AttributeName": "ThreadID", "KeyType": "HASH"},
    {"AttributeName": "PostDateTime", "KeyType": "RANGE"}
  ],
  "AttributeDefinitions": [
    {"AttributeName": "ThreadID", "AttributeType": "S"},
    {"AttributeName": "PostDateTime", "AttributeType": "S"}
  ],
  "ProvisionedThroughput": {
    "ReadCapacityUnits": 5,
    "WriteCapacityUnits": 5
  }
}

Förklaring av eventual consistency

DynamoDB erbjuder olika konsistensmodeller. Som standard är läsningar eventual consistent. Det innebär att om ni skriver data till DynamoDB och sedan försöker läsa den direkt, kanske ni inte ser den senaste uppdateringen.

Data blir så småningom konsistent, vanligtvis inom några millisekunder. Den här modellen passar för program där omedelbar datakonsistens inte är avgörande, till exempel sociala medieflöden eller loggar över användaraktivitet.

När ni behöver stark konsistens

I situationer där ni måste vara helt säkra på att ni läser de senaste uppgifterna erbjuder DynamoDB starkt konsistenta läsningar. När ni begär en starkt konsistent läsning returnerar DynamoDB de mest uppdaterade uppgifterna, inklusive alla tidigare lyckade skrivåtgärder.

Det innebär en mindre kompromiss: starkt konsistenta läsningar kan ha högre fördröjning och förbruka fler läskapacitetsenheter.

Hantera kapacitet och kostnader

DynamoDB erbjuder två kapacitetslägen för att hantera genomströmning och kostnader:

  • On-Demand: DynamoDB skalar automatiskt läs- och skrivkapaciteten och ni betalar per begäran. Passar bra för oförutsägbara arbetsbelastningar.
  • Provisioned: Ni anger antalet läsningar och skrivningar per sekund (Read/Write Capacity Units). Passar bäst för förutsägbara arbetsbelastningar och är ofta mer kostnadseffektivt.

Kontroll av DynamoDB-konsistens

Ni har lärt er om DynamoDB:s centrala koncept och konsistensmodeller. Nu testar vi era kunskaper.

DynamoDB: Viktiga slutsatser

Ni har slutfört introduktionen till Amazon DynamoDB! Här är en snabb sammanfattning:

  • DynamoDB är en fullständigt hanterad NoSQL-databas med hög prestanda.
  • Den använder tabeller som består av objekt och flexibla attribut.
  • Varje objekt kräver en primärnyckel (partitionsnyckel eller partitionsnyckel + sorteringsnyckel).
  • Den erbjuder eventual consistent läsningar (standard) och starkt konsistenta läsningar för olika behov.
  • Ni kan välja mellan kapacitetslägena On-Demand och Provisioned.

Härnäst går vi igenom datamodellering i DynamoDB!

Gratis att börja

Lär dig AWS för backendutvecklare (EC2, S3, RDS, Lambda) med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
12
Lektioner
48

Vanliga frågor

Är lektionen ”Introduktion till DynamoDB” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen AWS för backendutvecklare (EC2, S3, RDS, Lambda), inklusive ”Introduktion till DynamoDB”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i AWS för backendutvecklare (EC2, S3, RDS, Lambda) innehåller totalt 4 lektioner.

Vad lär jag mig i ”Introduktion till DynamoDB”?

Förstå fördelarna med en helt hanterad NoSQL-databastjänst, dess konsekvensmodeller och grundläggande komponenter. Ni övar på AWS för backendutvecklare (EC2, S3, RDS, Lambda) med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig AWS för backendutvecklare (EC2, S3, RDS, Lambda)?

Du behöver inga förkunskaper. Utbildningen i AWS för backendutvecklare (EC2, S3, RDS, Lambda) på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”Introduktion till DynamoDB”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här AWS för backendutvecklare (EC2, S3, RDS, Lambda)-lektionen?

Ja. Varje AWS för backendutvecklare (EC2, S3, RDS, Lambda)-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. RDS-läsrepliker och Multi-AZ
  2. Introduktion till DynamoDB
  3. Datamodellering i DynamoDB
  4. DynamoDB Streams och Global Tables
← Tillbaka till AWS för backendutvecklare (EC2, S3, RDS, Lambda)