Здравствуйте, Рома Мик, Вы писали:
РМ>А делалось ли такое уже где-нибудь? Что-то вроде базы данных, хранящейся в оперативной памяти. Но запросы к ней не выполняются и забываются, а регистрируются и поддерживают результат в актуальном состоянии по мере обновления базы данных. Отдают события добавилась/удалилась/изменилась запись в результате запроса. Никакой многопоточности, разных пользователей, транзакций, коллизий и т.п.
От потерянного обновления это не защитит, так как есть временная задержка в распространении событий, соответственно один пользователь может переписать результаты работы другого из-за того, что он слишком поздно получил событие об изменении данных другим пользователем.