Sobes.tech
Senior

Hansı növ əməliyyatları bilirsiniz? Onlar nə üçün lazımdır?

sobes.tech Süni İntellekt

AI-dan cavab

Go-da əməliyyatlar adətən verilənlər bazaları ilə əlaqəlidir və atomiklik, uyğunluq, izolasiya və davamlılıq (ACID) təmin etmək üçün istifadə olunur.

Əməliyyatların növləri:

  • Avtomatik əməliyyatlar — hər bir əməliyyat ayrı bir əməliyyat kimi həyata keçirilir.
  • Açıq əməliyyatlar — proqramçı Begin(), Commit(), Rollback() metodları ilə əməliyyatı açıq şəkildə başlatır, təsdiqləyir və ya ləğv edir.
  • Uzunmüddətli əməliyyatlar — paylanmış sistemlərdə istifadə olunur, burada əməliyyat uzun çəkə bilər və koordinasiya tələb edir.

Əməliyyatların məqsədi:

  • Bir qrup əməliyyatın tam həyata keçirilməsini və ya heç həyata keçirilməməsini təmin edir.
  • Yarış şərtlərini qarşısını alır və məlumatların bütövlüyünü təmin edir.
  • Xətalar baş verdikdə dəyişiklikləri geri almağa imkan verir.

Go-da verilənlər bazası ilə əməliyyat nümunəsi:

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