Транзакция - это логическая единица работы в информационных системах, которая переводит данные из одного согласованного состояния в другое. В более широком смысле транзакция означает операцию обмена или передачу ценностей между сторонами.
Содержание
Транзакция - это логическая единица работы в информационных системах, которая переводит данные из одного согласованного состояния в другое. В более широком смысле транзакция означает операцию обмена или передачу ценностей между сторонами.
Ключевые свойства транзакций
Свойство | Описание |
Атомарность | Выполняется полностью или не выполняется вообще |
Согласованность | Переводит систему из одного согласованного состояния в другое |
Изолированность | Промежуточные результаты не видны другим транзакциям |
Долговечность | Результаты завершенных транзакций сохраняются постоянно |
Основные виды транзакций
- Финансовые транзакции - операции с денежными средствами
- Банковские транзакции - переводы, платежи, снятие наличных
- Базы данных - последовательность операций с данными
- Блокчейн-транзакции - операции в распределенных реестрах
- Биржевые сделки - покупка/продажа ценных бумаг
Этапы выполнения транзакции
- Начало транзакции
- Выполнение операций
- Проверка условий завершения
- Фиксация (commit) или откат (rollback)
- Завершение транзакции
Примеры транзакций в разных областях
Область | Пример транзакции |
Банковское дело | Перевод средств между счетами |
Базы данных | Обновление нескольких связанных записей |
Электронная коммерция | Оформление заказа с оплатой |
Криптовалюты | Передача цифровых активов между кошельками |
Технические аспекты транзакций
- Механизмы блокировок для обеспечения изоляции
- Журналирование для восстановления после сбоев
- Контрольные точки (checkpoints) для оптимизации
- Протоколы управления параллельным доступом
- Механизмы разрешения конфликтов
Проблемы при обработке транзакций
- Потерянные обновления
- "Грязное" чтение
- Неповторяющееся чтение
- Фантомное чтение
- Взаимоблокировки (deadlocks)