Sobes.tech
Junior — Middle

Koja je uloga svakog nivoa izolacije transakcija u bazi podataka?

sobes.tech АИ

Одговор од АИ

Nivoi izolacije transakcija u bazi podataka određuju kako i kada promene koje je jedna transakcija napravila postaju vidljive drugim transakcijama. Glavni nivoi izolacije:

  1. Read Uncommitted (Čitanje nepotvrđeno)

    • Transakcija može videti promene drugih transakcija, čak i ako nisu još potvrđene.
    • Moguće prljave čitanje.
  2. Read Committed (Potvrđeno čitanje)

    • Transakcija vidi samo potvrđene promene.
    • Sprečava prljavo čitanje, ali može dozvoliti neponovljivo čitanje.
  3. Repeatable Read (Ponovljivo čitanje)

    • Garantuje da se podaci pročitani u okviru transakcije neće promeniti do njenog završetka.
    • Sprečava prljavo i neponovljivo čitanje, ali može dozvoliti fantomsko čitanje.
  4. Serializable (Serijalizabilno)

    • Najstrožiji nivo izolacije.
    • Transakcije se izvršavaju kao da su sekvencijalne.
    • Sprečava sve vrste čitanih anomalija.

Izbor nivoa izolacije utiče na ravnotežu između performansi i integriteta podataka. Na primer, stroži nivoi smanjuju paralelizam, ali obezbeđuju veću konzistentnost.