Оптимистическая и пессимистическая блокировка в Node/Postgres?
Я планирую использовать Node для моего следующего проекта, потому что он, кажется, хорошо подходит для решения проблемы, которую я решаю.
Одна вещь, которую мне нужно выяснить, это оптимистическая и пессимистическая блокировка. http://guides.rubyonrails.org/active_record_querying.html
Скажем, баланс пользователя равен 1. Два экземпляра Node одновременно выполняют запросы на снятие средств 1. Два запроса могут одновременно пройти проверку достаточного остатка, в результате чего два успешных снятия средств приводят к балансу -1.
Rails предоставляет оболочку для транзакционных и блокирующих функций Postgres. Существует ли какая-то похожая оболочка для Node?
Как вы решаете это в Node/Postgresql?
Я знаю, что это функция базы данных, но мне интересно, предоставляет ли Node или какая-либо библиотека абстракцию от написания необработанных SQL-запросов?