ScholarGate
Ассистент

Транзакции ACID

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

Найти тему в PaperMindСкороFind papers & topics
Tools & resources
Скачать слайды
Learn & explore
ВидеоСкоро

Definition

Транзакция — это единица работы, состоящая из одной или нескольких операций с базой данных, которые система выполняет с гарантиями ACID: атомарность, согласованность, изоляция и долговечность; она завершается либо фиксацией (делая свои эффекты постоянными), либо отменой (отменяя все свои эффекты).

Scope

Эта тема подробно рассматривает абстракцию транзакций и четыре свойства ACID: атомарность (фиксация или откат по принципу «все или ничего»), согласованность (каждая транзакция переводит базу данных из одного допустимого состояния в другое), изоляцию (одновременные транзакции не мешают друг другу наблюдаемым образом) и долговечность (зафиксированные эффекты сохраняются при сбоях). В ней рассматриваются семантика фиксации и отката, а также то, как эти свойства связаны с управлением параллелизмом и восстановлением. Она исключает конкретные протоколы, реализующие изоляцию и долговечность, которые являются смежными темами.

Core questions

  • Что гарантирует каждое из свойств ACID?
  • Как фиксация и откат определяют поведение транзакции по принципу «все или ничего»?
  • Как изоляция связана с сериализуемостью и управлением параллелизмом?
  • Как достигается долговечность, несмотря на сбои системы?
  • Каковы ограничения транзакционной модели для длительных или распределенных работ?

Key concepts

  • единица работы транзакции
  • атомарность
  • согласованность
  • изоляция
  • долговечность
  • фиксация и откат
  • откат
  • модель состояния транзакции

Key theories

Атомарность и долговечность
Атомарность гарантирует, что эффекты транзакции применяются полностью или не применяются вовсе, даже при сбоях, а долговечность гарантирует, что после фиксации транзакции ее изменения сохраняются при сбоях; обе реализуются посредством журналирования и восстановления.
Согласованность и изоляция
Согласованность требует, чтобы каждая зафиксированная транзакция сохраняла ограничения целостности базы данных, а изоляция требует, чтобы параллельные транзакции давали результаты, эквивалентные некоторому последовательному порядку, скрывая промежуточные состояния друг от друга.
Концепция транзакций и ее ограничения
Абстракция транзакций упрощает рассуждения о сбоях и параллелизме, но Грей отметил ограничения для длительных действий и между системными границами, что послужило стимулом для последующей работы над сагами и распределенными транзакциями.

Clinical relevance

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

History

Джим Грей сформулировал концепцию транзакций, их достоинства и ограничения в 1981 году; Хардер и Ройтер ввели аббревиатуру ACID в своем обзоре восстановления, ориентированного на транзакции, в 1983 году. Эти идеи, разработанные вокруг IBM System R, стали стандартной моделью надежной обработки данных и сформировали каждую последующую систему баз данных.

Key figures

  • Jim Gray
  • Andreas Reuter
  • Theo Härder

Related topics

Seminal works

  • gray1981
  • haerder1983
  • gray1992

Frequently asked questions

В чем разница между согласованностью в ACID и согласованностью в теореме CAP?
Это разные понятия. Согласованность ACID означает, что транзакция сохраняет ограничения целостности базы данных, переводя ее между допустимыми состояниями. Согласованность CAP относится к тому, что все реплики в распределенной системе согласуются с последним значением. Система может удовлетворять одному без другого, поэтому одно и то же слово обозначает различные свойства в двух контекстах.
Являются ли свойства ACID независимыми друг от друга?
Они являются концептуально различными гарантиями, но реализуются с помощью перекрывающихся механизмов. Атомарность и долговечность обеспечиваются журналированием и восстановлением; изоляция обеспечивается управлением параллелизмом; а согласованность сохраняется совместно логикой транзакций приложения и обеспечением системой трех других свойств.

Methods for this concept

Related concepts