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

DynamoDB Streams och Global Tables

Lär Er att reagera på dataändringar i realtid med DynamoDB Streams och bygga applikationer med låg fördröjning i flera regioner med Global Tables.

Lektion 4 av 413 steg

DynamoDB Streams och Global Tables är en gratis lektion i AWS för backendutvecklare (EC2, S3, RDS, Lambda) på CoddyKit. Detta är lektion 4 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.

Reagera på ändringar

Ibland behöver du känna till ändringar i data så snart de sker – för att uppdatera en cache, skicka en avisering eller synkronisera ett annat system.

DynamoDB Streams registrerar en ordnad logg över varje ändring på objektnivå i en tabell.

Vad en stream registrerar

Varje stream-post beskriver en INSERT, MODIFY eller REMOVE. Du väljer vilka data posten ska innehålla via stream-vytypen:

  • KEYS_ONLY
  • NEW_IMAGE
  • OLD_IMAGE
  • NEW_AND_OLD_IMAGES

Aktivera en stream

Aktivera en stream för en tabell och välj en vytyp.

aws dynamodb update-table \
  --table-name Orders \
  --stream-specification StreamEnabled=true,StreamViewType=NEW_AND_OLD_IMAGES

Streams utlöser Lambda

Det vanligaste mönstret är att ansluta en stream till en Lambda-funktion. Lambda anropas i batcher när poster anländer, så att du kan bearbeta ändringar utan att hantera servrar.

exports.handler = async (event) => {
  for (const record of event.Records) {
    console.log(record.eventName, record.dynamodb.Keys);
  }
};

Vanliga användningsfall för streams

Streams möjliggör många användningsmönster:

  • Hålla ett sökindex (OpenSearch) synkroniserat
  • Sammanställa analysdata
  • Skicka aviseringar vid ändringar
  • Replikera till ett annat datalager

Ordning och shards

Streams är organiserade i shards. Poster inom en shard är strikt ordnade efter när ändringarna inträffade, vilket bevarar ändringsordningen för varje objekt.

Introduktion till Global Tables

Global Tables replikerar automatiskt din DynamoDB-tabell över flera AWS-regioner, vilket ger användarna åtkomst med låg fördröjning oavsett var de befinner sig.

Flera regioner, active-active

Global Tables använder modellen active-active: du kan läsa och skriva i valfri region, och ändringarna replikeras till de andra, vanligtvis inom en sekund.

Global Tables bygger internt på DynamoDB Streams.

Konfliktlösning

När samma objekt skrivs i två regioner samtidigt löser DynamoDB konflikten med strategin last writer wins, baserat på tidsstämplar.

När ska Global Tables användas

Använd Global Tables när du behöver:

  • Låg fördröjning för användare över hela världen
  • Regional katastrofåterställning
  • Active-active-applikationer i flera regioner

Streams jämfört med Global Tables

Kom ihåg skillnaden:

  • Streams – reagerar på ändringar i dina egna system
  • Global Tables – replikerar själva tabellen över flera regioner

Global Tables använder Streams internt för att utföra sitt arbete.

Snabbtest

Testa dina kunskaper om DynamoDB.

Sammanfattning

Du har lärt dig avancerade funktioner i DynamoDB:

  • Streams registrerar ordnade ändringar på objektnivå
  • Streams utlöser ofta Lambda
  • Global Tables replikerar aktivt-aktivt över flera regioner
  • Konflikter löses med last writer wins

Tillsammans möjliggör de realtidsapplikationer som är distribuerade över hela världen.

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 ”DynamoDB Streams och Global Tables” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen AWS för backendutvecklare (EC2, S3, RDS, Lambda), inklusive ”DynamoDB Streams och Global Tables”, 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 ”DynamoDB Streams och Global Tables”?

Lär Er att reagera på dataändringar i realtid med DynamoDB Streams och bygga applikationer med låg fördröjning i flera regioner med Global Tables. 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 4 av 4.

Hur lång tid tar lektionen ”DynamoDB Streams och Global Tables”?

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)