Транзакция - это логическая единица работы в информационных системах, которая представляет собой последовательность операций, выполняемую как единое целое. Транзакция либо выполняется полностью, либо не выполняется вовсе.
Содержание
Основные свойства транзакций (ACID)
| Свойство | Описание |
| Атомарность (Atomicity) | Транзакция выполняется полностью или не выполняется совсем |
| Согласованность (Consistency) | Транзакция переводит систему из одного согласованного состояния в другое |
| Изолированность (Isolation) | Параллельные транзакции не влияют на результат друг друга |
| Долговечность (Durability) | Результаты завершенной транзакции сохраняются даже после сбоев |
Где применяются транзакции
- Банковские операции (переводы средств)
- Базы данных (изменение записей)
- Электронная коммерция (покупки онлайн)
- Блокчейн-системы (криптовалютные операции)
Жизненный цикл транзакции
- Начало транзакции
- Выполнение операций
- Проверка на возможность завершения
- Фиксация (commit) или откат (rollback)
Примеры транзакций
| Область | Пример |
| Банковская | Перевод денег между счетами |
| Базы данных | Обновление нескольких связанных таблиц |
| Интернет-магазин | Оформление заказа с резервированием товара |
Типы транзакций
По способу выполнения
- Локальные (в пределах одной системы)
- Распределенные (между несколькими системами)
По времени выполнения
- Короткие (выполняются быстро)
- Долгие (требуют значительного времени)
Проблемы параллельных транзакций
| Проблема | Описание |
| Потерянное обновление | Одно изменение перезаписывает другое |
| "Грязное" чтение | Чтение незафиксированных данных |
| Неповторяемое чтение | Разные результаты при повторном чтении |
| Фантомное чтение | Появление новых строк между операциями |
Уровни изоляции транзакций
- Read uncommitted (чтение незафиксированных данных)
- Read committed (чтение зафиксированных данных)
- Repeatable read (повторяемое чтение)
- Serializable (упорядочиваемый)
Транзакции являются фундаментальным понятием в информационных системах, обеспечивая надежность и согласованность данных при выполнении сложных операций.















