4. Механизм организации целостности данных (Transactioning). В простейшем случае, это набор блокировок на чтение/запись. Кстати, из этого понимания следует, почему уровни изоляции именно такие, какие мы все помним (на самом деле, НЕ помним, чего уж там). Уровни изоляции это не таблица умножения, которую надо запомнить, они легко выводятся. Достаточно понять, на каком уровне захватывается блокировка, и когда она отпускается (сразу, по окончании оператора, по окончании транзакции). В более сложном случае (mvcc) присутствует ещё сегмент отката данных, который реализует оптимистические блокировки взамен честных для ускорения. Но это уже детали.
Знание подробностей позволяет писать запросы с минимальным количеством блокировок (= contention = сбоев конкурентного доступа к данным), и понимать, почему транзакция может быть убита и откатиться, даже если "в вакууме" делает всё по красоте.
Вот, собственно, и вся RDBMS до копейки. Похоже, после этого курса молодого бойца вы в одном шаге, чтобы написать свою РСУБД!
Знание подробностей позволяет писать запросы с минимальным количеством блокировок (= contention = сбоев конкурентного доступа к данным), и понимать, почему транзакция может быть убита и откатиться, даже если "в вакууме" делает всё по красоте.
Вот, собственно, и вся RDBMS до копейки. Похоже, после этого курса молодого бойца вы в одном шаге, чтобы написать свою РСУБД!