Транзакция - логическая единица работы, удовлетворяющая след. 4-м свойствам (ACID)

  1. Атомарность (Atomicity) - в транзакции выполняется все или ничего; транзакция не может выполниться частично
  2. Согласованность (Consistentcy) - транзакция переводит базу данных из одного согласованного состояния в другое согласованное состояние
  3. Изолированность (Isolation) - каждая транзакция выполняется вне зависимости от других транзакций
  4. Долговечность (Durability) - если изменения состояния базы данных, сделанные транзакцией, зафиксированны, то они будут сохранены даже если потом произойдет сбой

<aside> 💡 Транзакция нужна в первую очередь чтобы обеспечить предсказуемый результат!

</aside>

Пример создания транзакции

create table films (
    imdb varchar(16) primary key,
    title varchar(40) not null,
    kind varchar(10)
);

Журнал транзакций (WAL файлы)

Бонус журналов транзакций

На базе журнала транзакций реализуется ряд дополнительных возможностей

Изолированность. Мультиверсионность. MVCC