Ciò aiuta a mantenere la coerenza dei tuoi dati, in quanto assicura che i tuoi dati rimangono coerenti anche se una qualsiasi delle operazioni nella transazione fallisce. Inoltre, le transazioni a piùestrizioni in DynamoDB aiutano a evitare problemi come aggiornamenti parziali o corruzione dei dati.
Questo articolo spiega quali sono le transazioni multi-reti DynamoDB e quando usarle. Questo articolo fornisce anche un tutorial passo-passo sull'uso delle transazioni multi-reti DynamoDB e alcuni esempi.
Come utilizzare le transazioni a piùestrizioni in DynamoDB
È possibile utilizzare le transazioni multi-reti DynamoDB ogni volta che è necessario assicurarsi che più operazioni sulla tabella DynamoDB vengano eseguite insieme come unità atomica.
Ad esempio, aiuta ad aggiornare più record in una tabella contemporaneamente o a trasferire i dati tra due tabelle in modo più coerente e affidabile. Ma mentre a questo, assicurati che la tabella sia in modalità transazionale.
Inoltre, le operazioni devono essere eseguite utilizzando il TransactWriteItems O Transactgetitems API. La transazione verrà impegnata se tutte le operazioni hanno esito positivo e rimboccato se una qualsiasi delle operazioni fallisce.
Inoltre, le transazioni multi-reti DynamoDB hanno un limite di 25 operazioni per transazione e un massimo di 4 MB di dati per transazione.
Per abilitare le transazioni a piùestrizioni in DynamoDB, è necessario specificare l'ID transazione e le operazioni che devono essere eseguite. DynamoDB assicurerà quindi che i processi vengano eseguiti nell'ordine corretto.
Per utilizzare le transazioni multi-reti in DynamoDB, seguire questi passaggi:
Esempi di transazioni multi-reti DynamoDB
Esempio 1:
Per creare una transazione multi-reti in DynamoDB, possiamo utilizzare la seguente sintassi:
// Inizia la transazioneLa transazione multi-distanza sopra inizia con il parametro "Transactems" e contiene una serie di istruzioni. La prima dichiarazione è un'operazione di aggiornamento. Aggiorna un elemento con un ID specifico nella tabella "MyTable" (dovrai specificare il nome della tabella).
La seconda istruzione prevede un'operazione di eliminazione. Mira a eliminare un elemento con un ID specifico nella stessa tabella. La transazione viene eseguita chiamando il metodo "TransactWriteItems", che prende i parametri della transazione come input e restituisce una risposta con i risultati della transazione.
Esempio 2:
Il nostro secondo esempio è il seguente:
var params =
Transactems: [
Mettere:
TableName: "Utenti",
Articolo:
userid: "xxx123abcd",
primo nome: "Ken",
LastName: "Brian",
Email: '[email protected],
Telefono: 'xxxxxxxx'
,
Mettere:
TableName: "Ordini",
Articolo:
orderid: 'dfa445d,
userid: "xxx123abcd",
OrderDate: '2022-11-08',
elementi: [
ProductID: '989v3',
quantità: 7
"
,
Mettere:
TableName: "Prodotti",
Articolo:
ProductID: '989v3',
Nome: "Nome prodotto",
Prezzo: 210.49
"
;
DynamoDB.TransactWrite (params, function (err, data)
la console if (err).log (err);
Else console.registro (dati);
);
In questo esempio, abbiamo creato più transazioni che mirano a mettere un nuovo utente, ordine e prodotto nelle rispettive tabelle Dynamodb. Se qualsiasi operazione non riesce, l'intera transazione verrà ribaltata e il sistema aggiungerà nessuno dei dati alle tabelle.
Conclusione
Sebbene ciò possa essere sconosciuto a molti, le transazioni a piùesima DynamoDB sono facili da usare e ti aiuteranno in modo efficiente a mantenere la coerenza dei tuoi dati. Si noti che non è possibile utilizzare transazioni multi-distanza su indici globali. Tuttavia, ciò non rimuove nessuno dei vantaggi di questa funzione AWS DynamoDB.