Транзакция представляет собой логическую единицу работы с данными, которая либо выполняется полностью, либо не выполняется вовсе. Рассмотрим принципы работы транзакций в различных системах.

Содержание

Основные свойства транзакций (ACID)

  • Атомарность (Atomicity) - все или ничего
  • Согласованность (Consistency) - сохранение целостности данных
  • Изолированность (Isolation) - независимость параллельных транзакций
  • Долговечность (Durability) - сохранение результатов после завершения

Этапы выполнения транзакции

1. Начало транзакции

  1. Система выделяет ресурсы
  2. Фиксируется начальное состояние
  3. Присваивается уникальный идентификатор

2. Выполнение операций

Тип операцииПример
ЧтениеSELECT в SQL
ЗаписьUPDATE в SQL
ВычислениеРасчет суммы перевода

Механизмы завершения транзакций

  • Коммит (Commit) - успешное завершение
  • Откат (Rollback) - возврат к исходному состоянию
  • Автоматический откат при ошибках
  • Таймаут при длительном выполнении

Пример банковской транзакции

  1. Начало транзакции
  2. Списание суммы со счета отправителя
  3. Зачисление суммы на счет получателя
  4. Фиксация изменений (коммит)
  5. Запись в журнал транзакций

Уровни изоляции транзакций

УровеньОписание
Read uncommittedЧтение незафиксированных данных
Read committedТолько зафиксированные данные
Repeatable readГарантия повторяемости чтения
SerializableПолная изоляция

Журналирование транзакций

  • Запись всех изменений перед применением
  • Возможность восстановления после сбоев
  • Хранение метаданных (время, пользователь)
  • Поддержка точки восстановления

Оптимизация транзакций

  • Минимизация времени выполнения
  • Оптимальный выбор уровня изоляции
  • Правильное проектирование блокировок
  • Использование пакетных операций

Запомните, а то забудете

Другие статьи

Кредит в Валберис: как работает и прочее