Усі курси
Текстовий курс
Транзакції та ACID: що насправді гарантує база даних
Короткий практичний курс про транзакції: атомарність, узгодженість, ізоляцію та довговічність на прикладах PostgreSQL.
7 уроків · 1 квіз
Почати курс
Для навчання потрібен акаунт, це безкоштовно.

Майже кожен бекенд-розробник пише BEGIN і COMMIT, але не кожен може пояснити, що саме гарантує база даних, а що ні. Через це в продакшені зʼявляються «загублені» оновлення, подвійні списання та звіти, які не сходяться.
За сім коротких уроків ви розберете кожну літеру ACID:
- Atomicity: чому транзакція виконується повністю або не виконується зовсім;
- Consistency: хто відповідає за валідність даних, база чи код;
- Isolation: які аномалії виникають при паралельній роботі та як їх прибирають рівні ізоляції;
- Durability: як журнал змін (WAL) захищає підтверджені дані від збою.
У кінці курсу на вас чекає підсумковий квіз із 20 питань. Приклади на PostgreSQL, але ідеї однакові для MySQL, SQL Server та інших реляційних баз. Це одне з найчастіших питань на співбесідах бекенд-розробників.
Програма курсу
- Що таке транзакція і навіщо ACID
- Atomicity: все або нічого
- Consistency: дані завжди валідні
- Isolation: аномалії паралельних транзакцій
- Рівні ізоляції в PostgreSQL
- Durability: дані переживуть збій
- Підсумок: ACID на практиці і BASE
- Підсумковий квіз20 питань