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