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

Содержание

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

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

СвойствоОписание
Атомарность (Atomicity)Транзакция выполняется полностью или не выполняется совсем
Согласованность (Consistency)Транзакция переводит систему из одного согласованного состояния в другое
Изолированность (Isolation)Параллельные транзакции не влияют на результат друг друга
Долговечность (Durability)Результаты завершенной транзакции сохраняются даже после сбоев

Где применяются транзакции

  • Банковские операции (переводы средств)
  • Базы данных (изменение записей)
  • Электронная коммерция (покупки онлайн)
  • Блокчейн-системы (криптовалютные операции)

Жизненный цикл транзакции

  1. Начало транзакции
  2. Выполнение операций
  3. Проверка на возможность завершения
  4. Фиксация (commit) или откат (rollback)

Примеры транзакций

ОбластьПример
БанковскаяПеревод денег между счетами
Базы данныхОбновление нескольких связанных таблиц
Интернет-магазинОформление заказа с резервированием товара

Типы транзакций

По способу выполнения

  • Локальные (в пределах одной системы)
  • Распределенные (между несколькими системами)

По времени выполнения

  • Короткие (выполняются быстро)
  • Долгие (требуют значительного времени)

Проблемы параллельных транзакций

ПроблемаОписание
Потерянное обновлениеОдно изменение перезаписывает другое
"Грязное" чтениеЧтение незафиксированных данных
Неповторяемое чтениеРазные результаты при повторном чтении
Фантомное чтениеПоявление новых строк между операциями

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

  1. Read uncommitted (чтение незафиксированных данных)
  2. Read committed (чтение зафиксированных данных)
  3. Repeatable read (повторяемое чтение)
  4. Serializable (упорядочиваемый)

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

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

Что такое СТС в ГИБДД и прочее