Усі курси

Текстовий курс

Транзакції та ACID: що насправді гарантує база даних

Короткий практичний курс про транзакції: атомарність, узгодженість, ізоляцію та довговічність на прикладах PostgreSQL.

7 уроків · 1 квіз

Почати курс

Для навчання потрібен акаунт, це безкоштовно.

Майже кожен бекенд-розробник пише BEGIN і COMMIT, але не кожен може пояснити, що саме гарантує база даних, а що ні. Через це в продакшені зʼявляються «загублені» оновлення, подвійні списання та звіти, які не сходяться.

За сім коротких уроків ви розберете кожну літеру ACID:

  1. Atomicity: чому транзакція виконується повністю або не виконується зовсім;
  2. Consistency: хто відповідає за валідність даних, база чи код;
  3. Isolation: які аномалії виникають при паралельній роботі та як їх прибирають рівні ізоляції;
  4. Durability: як журнал змін (WAL) захищає підтверджені дані від збою.

У кінці курсу на вас чекає підсумковий квіз із 20 питань. Приклади на PostgreSQL, але ідеї однакові для MySQL, SQL Server та інших реляційних баз. Це одне з найчастіших питань на співбесідах бекенд-розробників.

Програма курсу

  1. Що таке транзакція і навіщо ACID
  2. Atomicity: все або нічого
  3. Consistency: дані завжди валідні
  4. Isolation: аномалії паралельних транзакцій
  5. Рівні ізоляції в PostgreSQL
  6. Durability: дані переживуть збій
  7. Підсумок: ACID на практиці і BASE
  • Підсумковий квіз20 питань