Встречается на собеседованиях • сегодня

Что такое надежность в ACID

Надежность (Durability) в ACID гарантирует, что после успешного завершения транзакции (commit) изменения сохраняются в БД даже при сбоях (отключение питания, краш сервера).

Как достигается:

  • Журналирование (WAL — Write-Ahead Logging): изменения сначала записываются в лог, затем в основную БД.
  • Синхронная запись на диск (fsync) перед подтверждением commit.

Пример с PostgreSQL:

sql
BEGIN;
UPDATE accounts SET balance = balance - 100 WHERE user_id = 1;
UPDATE accounts SET balance = balance + 100 WHERE user_id = 2;
COMMIT;  -- данные гарантированно сохранены даже после сбоя

Нюансы:

  • Может снижать производительность из-за жестких требований к записи.
  • В NoSQL (например, MongoDB) надежность иногда жертвуется в пользу скорости (writeConcern: 0).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы