Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Що означає ізольованість (Isolation)?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)Ізольованість (Isolation) - властивість транзакцій, яка гарантує, що паралельні транзакції не бачать незавершених змін одна одної й не заважають виконанню одна одної: кожна транзакція має відчувати себе "єдиною в системі", навіть якщо їх насправді десятки. **Ключове:** захищає від типових проблем на кшталт Dirty Read, Non-repeatable Read і Phantom Read - залежно від рівня ізоляції (`Read Committed`, `Repeatable Read`, `Serializable`), де вищий рівень дає більше гарантій цілісності ціною меншої паралельності.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)ЗображенняІзольованість (Isolation) - це властивість транзакцій, що гарантує: **паралельні транзакції не бачать незавершених змін одна одної й не заважають виконанню одна одної**. Кожна транзакція має відчувати себе "єдиною в системі", навіть якщо насправді їх десятки. ### Що це означає на практиці - транзакція **не бачить проміжних, "брудних" даних** з інших транзакцій - паралельні операції **не призводять до суперечливих результатів** - підсумковий ефект має виглядати так, **ніби транзакції виконувалися по черзі** ### Типові проблеми без Isolation | Проблема | Що відбувається | |---|---| | Dirty Read | читання даних транзакції, яка ще не зафіксована | | Non-repeatable Read | повторне читання того самого поля дає різні результати, бо його змінили паралельно | | Phantom Read | при повторному запиті з'являється новий набір рядків, доданих іншою транзакцією | Isolation захищає саме від таких ситуацій - залежно від рівня ізоляції. ### Рівні ізоляції (ідея, коротко) У системах транзакцій є різні рівні - від швидших, але менш строгих, до максимальних, наприклад: - `Read Committed` - `Repeatable Read` - `Serializable` (найстроgіший) Чим вищий рівень - тим менше паралельності, але більше гарантій цілісності. ### В одному реченні **Isolation = кожна транзакція виконується так, ніби вона єдина, і не бачить незавершених змін інших.**Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.