Богатые запросы MongoDB и гарантии изоляции

-4

Спросить друга. Можем ли мы писать транзакции ACID, содержащие богатые запросы с помощью MongoDB версии 4?

Если да - могу ли я иметь пример или указатель на API?

Заранее спасибо.

спросил(а) 2018-08-30T16:29:00+03:00 2 года назад
0
57

Похоже, мы можем сделать это с MongoDB 4.0: https://docs.mongodb.com/master/core/transactions/?_ga=2.98680029.215960757.1535643945-1204416970.1535643943

MongoDB предоставляет возможность выполнять транзакции с несколькими документами с использованием наборов реплик. Операции с несколькими документами могут использоваться для нескольких операций, коллекций, баз данных и документов. Операции с несколькими документами предоставляют предложение "все или ничего". Когда транзакция совершается, все изменения данных, сделанные в транзакции, сохраняются. Если какая-либо операция в транзакции завершается с ошибкой, транзакция прерывается и все изменения данных, сделанные в транзакции, отбрасываются, не становясь видимыми. До совершения транзакции операции транзакции в транзакции не видны вне транзакции.

Некоторые примеры в Java: https://spring.io/blog/2018/06/28/hands-on-mongodb-4-0-transactions-with-spring-data

Кажется, что в java вы можете настроить его для управления транзакциями с помощью аннотации @Transactional, например, в Hibernate. Просто имейте в виду, что обычно использование транзакций приносит дополнительную стоимость исполнения.

В большинстве случаев транзакция с несколькими документами требует больших затрат на производительность при записи отдельных документов, а доступность транзакций с несколькими документами не должна быть заменой для эффективного проектирования схемы.

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

ответил(а) 2018-08-30T18:51:00+03:00 2 года назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема