Middle
Care sunt nivelurile de izolare a tranzacțiilor? Pe care le cunoașteți?
sobes.tech AI
Răspuns de la AI
Nivelurile de izolare a tranzacțiilor determină în ce măsură o tranzacție poate vedea modificările făcute de alte tranzacții paralele și ajută la controlul problemelor de acces concurent la date. Nivelurile principale de izolare:
- READ UNCOMMITTED — cel mai scăzut nivel, o tranzacție poate vedea modificările neconfirmate ale altor tranzacții (citire murdară).
- READ COMMITTED — tranzacția vede doar modificările deja confirmate, previne citirea murdară.
- REPEATABLE READ — garantează că citirea repetată a acelorași date în cadrul unei tranzacții va da același rezultat, previne citirile nerepetabile.
- SERIALIZABLE — cel mai strict nivel, tranzacțiile sunt executate ca și cum ar fi secvențiale, previne citirile fantomă.
În Java, lucrând cu baze de date prin JDBC sau JPA, se poate seta nivelul de izolare a tranzacției, de exemplu:
connection.setTransactionIsolation(Connection.TRANSACTION_REPEATABLE_READ);