Sobes.tech
Senior

Quels types de transactions connais-tu ? À quoi servent-ils ?

sobes.tech IA

Réponse de l'IA

Dans Go, les transactions sont généralement liées aux bases de données et sont utilisées pour assurer l'atomicité, la cohérence, l'isolation et la durabilité (ACID).

Types de transactions :

  • Transactions automatiques — chaque opération est effectuée comme une transaction distincte.
  • Transactions explicites — le développeur commence, valide ou annule explicitement une transaction à l'aide des méthodes Begin(), Commit(), Rollback().
  • Transactions de longue durée — utilisées dans les systèmes distribués, où la transaction peut durer longtemps et nécessite une coordination.

À quoi servent les transactions :

  • Garantissent qu'un groupe d'opérations sera entièrement effectué ou pas du tout.
  • Prévenir les conditions de course et assurer l'intégrité des données.
  • Permettent de revenir en arrière en cas d'erreurs.

Exemple d'utilisation d'une transaction en Go avec une base de données :

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)
}