Привет, я Миша и я не знаю как использовать SQL базы.
Я хорошо знаком с ними наверное лет 10. Писал сложные запросы, оптимизировал их, оптимизировал хранение, чтобы туда влезало полтерабайта данных.
Я понимаю паттерны вроде Unit of work и Identity map.
Но блин, я не понимаю как правильно работать с БД. Такое ощущение, что мы как-то противоестественно их используем. Не так, как расчитывали их создатели.
Зачем мне в памяти держать копию данных, менять их и героически синхронизировать с состоянием транзакции.
Почему просто не сделать БД единственным источником правды?
Да, много запросов рождают задержки, но настолько ли это серьезно?
Почему, когда контент-менеджер заполняет форму, нельзя отрыть транзакцию и постепенно записывать данные, получать идентификаторы создаваемых вложенных сущностей?
Может быть кто-нибудь видел книжку или доклад?
> Почему, когда контент-менеджер заполняет форму, нельзя отрыть транзакцию и постепенно записывать данные, получать идентификаторы создаваемых вложенных сущностей?
Потому что HTTP — stateless протокол. Request-response — всё, конец разговора.
Application server лучше тоже держать stateless потому что балансировка нагрузки, failover и горизонтальное масштабирование.