Dette hjelper til med å opprettholde konsistensen av dataene dine, da det sikrer at dataene dine forblir konsistente selv om noen av operasjonene i transaksjonen mislykkes. Dessuten hjelper flerstatningstransaksjoner i DynamoDB til å unngå problemer som delvise oppdateringer eller datakorrupsjon.
Denne artikkelen forklarer hva DynamoDB-transaksjoner er og når du skal bruke dem. Denne oppskrivningen gir også en trinn-for-trinns tutorial om bruk av DynamoDB-transaksjoner og noen få eksempler.
Hvordan bruke flerstatningstransaksjoner i DynamoDB
Du kan bruke DynamoDB-transaksjoner med flere tilstander når du trenger å sikre at flere operasjoner på DynamoDB-tabellen din blir utført sammen som en atomenhet.
For eksempel hjelper det med å oppdatere flere poster i en tabell samtidig eller for å overføre data mellom to tabeller mer konsekvent og pålitelig. Men mens du er i det, må du sørge for at tabellen din er i transaksjonsmodus.
Dessuten må operasjonene utføres ved hjelp av TransactWriteItems eller TransactgetItems API -er. Transaksjonen vil bli begått hvis alle operasjoner er vellykket og rullet tilbake hvis noen av operasjonene mislykkes.
I tillegg har dynamoDB-transaksjoner med flere opplysninger en grense på 25 operasjoner per transaksjon og maksimalt 4 MB data per transaksjon.
For å aktivere flerstatningstransaksjoner i DynamoDB, må du spesifisere transaksjons-ID og operasjonene som må utføres. DynamoDB vil da sikre at prosessene utføres i riktig rekkefølge.
Følg disse trinnene for å bruke flerstatningstransaksjoner i DynamoDB:
DynamoDB Multi-Tatement Transactions Eksempler
Eksempel 1:
For å opprette en transaksjon med flere utførte av DynamoDB, kan vi bruke følgende syntaks:
// Begynn transaksjonenMulti-statustransaksjonen ovenfor begynner med parameteren "TransactItems" og inneholder en rekke uttalelser. Den første uttalelsen er en oppdateringsoperasjon. Den oppdaterer et element med en spesifikk ID i "Mytable" -tabellen (du må spesifisere tabellnavnet).
Den andre uttalelsen har en slettoperasjon. Den tar sikte på å slette et element med en bestemt ID i samme tabell. Transaksjonen utføres ved å kalle metoden “TransactWriteItems”, som tar transaksjonsparametrene som input og returnerer et svar med transaksjonsresultatene.
Eksempel 2:
Det andre eksemplet vårt er som følger:
var params =
TransactItems: [
Sette:
Tablename: 'Brukere',
Vare:
userid: 'xxx123abcd',
FirstName: 'Ken',
LastName: 'Brian',
E -post: '[email protected] ',
Telefon: 'xxxxxxxxx'
,
Sette:
Tablename: 'Bestillinger',
Vare:
OrderId: 'DFA445D,
userid: 'xxx123abcd',
Orderdate: '2022-11-08',
Elementer: [
ProductID: '989V3',
Mengde: 7
]
,
Sette:
Tablename: 'Produkter',
Vare:
ProductID: '989V3',
Navn: 'Produktnavn',
Pris: 210.49
]
;
Dynamodb.transactWrite (params, funksjon (feil, data)
hvis (feil) konsoll.logg (feil);
annet konsoll.logg (data);
);
I dette eksemplet opprettet vi flere transaksjoner som tar sikte på å sette en ny bruker, bestilling og produkt i deres respektive DynamoDB -tabeller. Hvis noen operasjoner mislykkes, vil hele transaksjonen bli rullet tilbake, og systemet vil ikke legge til noen av dataene i tabellene.
Konklusjon
Selv om dette kan være ukjent for mange, er dynamoDB-transaksjoner med flere uttalelser enkle å bruke og vil effektivt hjelpe deg med å opprettholde dataens konsistens. Merk at du ikke kan bruke flerstatningstransaksjoner på globale indekser. Dette fjerner imidlertid ingen av fordelene med denne AWS DynamoDB -funksjonen.