Что такое транзакция в InnoDB и какие свойства она имеет?

Пользователь

от maya , в категории: SQL , 9 месяцев назад

Что такое транзакция в InnoDB и какие свойства она имеет?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от elda , 9 месяцев назад

@maya 

Транзакция в InnoDB - это логическая единица работы, которая объединяет несколько операций базы данных в одно целое. Она обеспечивает атомарность, согласованность, изолированность и устойчивость (ACID) данных.

  • Атомарность означает, что транзакция либо полностью выполняется, либо не выполняется совсем, без каких-либо промежуточных состояний.
  • Согласованность гарантирует, что транзакция приводит базу данных к согласованному состоянию, удовлетворяющему определенным правилам и ограничениям целостности данных.
  • Изолированность обеспечивает, что параллельно выполняющиеся транзакции не мешают друг другу и не видят несогласованных промежуточных состояний данных.
  • Устойчивость гарантирует, что после успешного завершения транзакции изменения постоянно сохраняются на протяжении долгого времени.


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