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

Соответствует ли MongoDB принципам ACID

MongoDB поддерживает ACID, но с нюансами:

  • Atomicity: Гарантируется на уровне одного документа (транзакции внутри документа). Для мультидокументных операций требуется явное использование транзакций (с версии 4.0+).
  • Consistency: Обеспечивается через валидацию схемы (если включена) и уникальные индексы.
  • Isolation: Уровень "read committed" по умолчанию. В транзакциях — "snapshot isolation".
  • Durability: Зависит от настройки writeConcern (например, {w: "majority"} гарантирует запись на большинство реплик).

Пример транзакции:

java
try (ClientSession session = client.startSession()) {
    session.startTransaction();
    try {
        collection1.insertOne(session, doc1);
        collection2.updateOne(session, filter, update);
        session.commitTransaction();
    } catch (Exception e) {
        session.abortTransaction();
    }
}

Ограничения:

  • Транзакции влияют на производительность.
  • В шардированных кластерах есть ограничения (например, нельзя изменять одни и те же документы в разных шардах).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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