25. Что такое транзакции? Расскажите про принципы ACID.

25. Что такое транзакции? Расскажите про принципы ACID.

UNKNOWN

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

Это N (N≥1) запросов к БД, которые выполнятся успешно все вместе или не выполнятся вовсе.

Назовите основные свойства транзакции.

  • Атомарность (atomicity) гарантирует, что никакая транзакция не будет зафиксирована в системе частично. Будут либо выполнены все её подоперации, либо не выполнено ни одной.
  • Согласованность (consistency). Транзакция, достигающая своего нормального завершения (EOT — end of transaction, завершение транзакции) и, тем самым, фиксирующая свои результаты, сохраняет согласованность базы данных. Другими словами, каждая успешная транзакция по определению фиксирует только допустимые результаты.
  • Изолированность (isolation). Во время выполнения транзакции  параллельные транзакции не должны оказывать влияние на ее результат.
  • Долговечность (durability). Независимо от проблем на нижних уровнях (к примеру, обесточивание системы или сбои в оборудовании) изменения, сделанные успешно завершённой транзакцией, должны остаться сохраненными после возвращения системы в работу. Если пользователь получил подтверждение от системы, что транзакция выполнена, он может быть уверен, что сделанные им изменения не будут отменены из-за какого-либо сбоя.

Предыдущий вопрос: 24. Что такое временные таблицы? Для чего они нужны?

Следующий вопрос: 26. Расскажите про уровни изолированности транзакций.

Все вопросы по теме: список

Все темы: список

Вопросы/замечания/предложения/нашли ошибку: напишите мне

Report Page