Senior
¿Qué tipos de transacciones conoces? ¿Para qué sirven?
sobes.tech AI
Respuesta de la IA
En Go, las transacciones suelen estar relacionadas con bases de datos y se utilizan para garantizar la atomicidad, coherencia, aislamiento y durabilidad (ACID).
Tipos de transacciones:
- Transacciones automáticas — cuando cada operación se realiza como una transacción separada.
- Transacciones explícitas — cuando el desarrollador inicia, confirma o revoca explícitamente una transacción usando los métodos
Begin(),Commit(),Rollback(). - Transacciones de larga duración — se usan en sistemas distribuidos, donde la transacción puede durar mucho tiempo y requiere coordinación.
¿Para qué sirven las transacciones?
- Garantizan que un grupo de operaciones se complete en su totalidad o no se realice en absoluto.
- Previenen condiciones de carrera y aseguran la integridad de los datos.
- Permiten revertir cambios en caso de errores.
Ejemplo de uso de transacción en Go con una base de datos:
tx, err := db.Begin()
if err != nil {
log.Fatal(err)
}
_, err = tx.Exec("INSERT INTO users(name) VALUES(?)", "Alice")
if err != nil {
tx.Rollback()
log.Fatal(err)
}
err = tx.Commit()
if err != nil {
log.Fatal(err)
}