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.
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_IMAGESStreams 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.
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
- RDS-läsrepliker och Multi-AZ
- Introduktion till DynamoDB
- Datamodellering i DynamoDB
- DynamoDB Streams och Global Tables