Esto ayuda a mantener la consistencia de sus datos, ya que garantiza que sus datos sigan siendo consistentes incluso si alguna de las operaciones en la transacción falla. Además, las transacciones de estados múltiples en DYNAMODB ayudan a evitar problemas como actualizaciones parciales o corrupción de datos.
Este artículo explica qué son las transacciones de estados múltiples Dynamodb y cuándo usarlas. Este artículo también proporciona un tutorial paso a paso sobre el uso de transacciones de estados múltiples DynamodB y algunos ejemplos.
Cómo usar transacciones de estados múltiples en DynamodB
Puede usar transacciones de estados múltiples DYNAMODB siempre que necesite asegurarse de que múltiples operaciones en su tabla DynamodB se realicen juntas como una unidad atómica.
Por ejemplo, ayuda a actualizar múltiples registros en una tabla simultáneamente o para transferir datos entre dos tablas de manera más consistente y confiable. Pero mientras esté en eso, asegúrese de que su tabla esté en modo transaccional.
Además, las operaciones deben ejecutarse utilizando el TransactWriteItems o Transacttetitems API. La transacción se cometerá si todas las operaciones tienen éxito y se remontan si alguna de las operaciones falla.
Además, las transacciones de estados múltiples DynamodB tienen un límite de 25 operaciones por transacción y un máximo de 4 MB de datos por transacción.
Para habilitar las transacciones de estados múltiples en DynamoDB, debe especificar la ID de transacción y las operaciones que deben ejecutarse. Dynamodb se asegurará de que los procesos se realicen en el orden correcto.
Para usar transacciones de estados múltiples en DynamodB, siga estos pasos:
Ejemplos de transacciones múltiples de DynamodB
Ejemplo 1:
Para crear una transacción de estados múltiples en DynamodB, podemos usar la siguiente sintaxis:
// Comenzar la transacciónLa transacción de estados múltiples anteriores comienza con el parámetro "Transactitems" y contiene una matriz de declaraciones. La primera declaración es una operación de actualización. Actualiza un elemento con una identificación específica en la tabla "mytable" (necesitará especificar el nombre de la tabla).
La segunda declaración presenta una operación de eliminación. Su objetivo es eliminar un elemento con una identificación específica en la misma tabla. La transacción se ejecuta llamando al método "TransactWriteItems", que toma los parámetros de la transacción como entrada y devuelve una respuesta con los resultados de la transacción.
Ejemplo 2:
Nuestro segundo ejemplo es el siguiente:
var params =
Transactitems: [
Poner:
TableName: 'Usuarios',
Artículo:
UserID: 'xxx123abcd',
primer nombre: 'Ken',
LastName: 'Brian',
Correo electrónico: '[email protected] ',
Teléfono: 'xxxxxxxxxx'
,
Poner:
TableName: 'Ordenes',
Artículo:
OrdenId: 'DFA445D,
UserID: 'xxx123abcd',
OrderDate: '2022-11-08',
elementos: [
ProductID: '989v3',
Cantidad: 7
]
,
Poner:
TableName: 'Productos',
Artículo:
ProductID: '989v3',
Nombre: 'Nombre del producto',
Precio: 210.49
]
;
dinamodb.TransactWrite (params, function (err, data)
consola if (err).log (err);
Else consola.Dato de registro);
);
En este ejemplo, creamos múltiples transacciones que tienen como objetivo poner un nuevo usuario, pedido y producto en sus respectivas tablas DynamodB. Si alguna operación falla, toda la transacción se retirará y el sistema no agregará ninguno de los datos a las tablas.
Conclusión
Si bien esto puede ser desconocido para muchos, las transacciones de estados múltiples DYNAMODB son fáciles de usar y lo ayudarán de manera eficiente a mantener la consistencia de sus datos. Tenga en cuenta que no puede usar transacciones de estados múltiples en índices globales. Sin embargo, esto no elimina ninguno de los beneficios de esta característica de AWS Dynamodb.