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

Как выглядит транзакционность в NoSQL

В NoSQL транзакционность реализована по-разному в зависимости от типа БД:

Документоориентированные (MongoDB): Поддерживает ACID-транзакции на уровне одного документа (по умолчанию) и мультидокументные транзакции (с версии 4.0). Пример:

java
try (ClientSession session = client.startSession()) {
    session.startTransaction();
    collection.insertOne(session, doc1);
    collection.updateOne(session, filter, update);
    session.commitTransaction();
}

Колоночные (Cassandra): Использует lightweight-транзакции (LWT) с условиями IF для атомарности, но без полного ACID. Пример:

java
UPDATE users SET balance = 50 
WHERE user_id = 1 
IF balance = 100;

Key-Value (Redis): MULTI/EXEC для группировки команд, но без rollback. Поддерживает optimistic locking через WATCH.

Графовые (Neo4j): Полноценные ACID-транзакции.

NoSQL жертвует транзакционностью ради масштабируемости, предлагая компромиссные решения.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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