Appearance
Транзакции
Транзакция - это набор команд к бд, которые выполняются атомарно. Либо все выполнены, либо не выполнены.
Свойства транзакционной бд - ACID.
- A - Atomicity. Атомарность. Все операции либо выполняются, либо нет.
- C - Consistency. Согласованность. Транзакции переводит бд из одного согласованного состояния в другое. С учетом того, что они корректно написаны в логике приложения?
- I - Isolation. Изолированность. Транзакции изолированы друг от друга. Изменения одной не влияют на другую. Уровни изоляции транзакций.
- D - Durability. Долговечность. После завершения транзакции изменения гарантированно будут применены.
Уровни изоляции транзакций
- Serializable - выполняются по порядку друг за другом
- Read Committed
- Read Uncommitted
- Repeatable Read / Snapshot - в процессе выполнения транзакции данные всегда используются те же, что и в начале транзакции
- Linearizable
- Write Committed
MVCC - multiversion concurrency control. Позволяет нескольким транзакциям работать с данными без конфликтов.
Блокировки строк, таблиц