Middle+
Mi az a tranzakció és mik az ACID elvek?
sobes.tech MI
Válasz az MI-től
Egy tranzakció egy adatbázissal végrehajtott műveletek sorozata, amelyet egységes egészként hajtanak végre. Ha valamelyik művelet nem sikerül, minden változtatást visszavonnak az adatok integritásának megőrzése érdekében.
Az ACID elvek biztosítják a tranzakciók megbízhatóságát:
- Atomicitás: A tranzakció vagy teljes egészében végrehajtódik, vagy egyáltalán nem.
- Konzisztencia: A tranzakció végrehajtása után az adatbázis helyes állapotban marad.
- Elszigeteltség: A párhuzamos tranzakciók nem befolyásolják egymást.
- Tartósság: A tranzakció megerősítése után a változások még hibák esetén is megmaradnak.
Go-ban, az database/sql használatával az adatbázissal való munka során a tranzakció így jön létre:
trx, err := db.Begin()
if err != nil {
// hiba kezelése
}
_, err = trx.Exec("INSERT INTO users(name) VALUES(?)", "Alice")
if err != nil {
trx.Rollback()
// hiba kezelése
}
err = trx.Commit()
if err != nil {
// hiba kezelése
}