Junior — Middle
Можете ли да набројите нивое изолације трансакција у системима за управљање базама података?
sobes.tech АИ
Одговор од АИ
У системима за управљање базама података (СУБД), обично се разликују четири главна нивоа изолације трансакција, која одређују како и када постају видљиве промене једне трансакције другим:
-
Read Uncommitted (Читање некомитовано)
- Трансакција може видети промене других трансакција, чак и ако оне још нису потврђене.
- Могуће "мрљаво читање" (dirty reads).
-
Read Committed (Потврђено читање)
- Трансакција види само оне промене које су потврђене.
- Уклања мрљаво читање, али могуће непоновљиво читање.
-
Repeatable Read (Понављајуће читање)
- Гарантује да ако је трансакција прочитала податке, поновно читање истих података даће исти резултат.
- Превентивно спречава непоновљиво читање, али могуће фантомско читање.
-
Serializable (Серилно)
- Најстроже ниво, трансакције се извршавају као да су секвенцијалне.
- Уклања фантомско читање, обезбеђује максимални интегритет, али смањује паралелизам.
Избор нивоа изолације је баланс између перформанси и интегритета података.