-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Проблема
В БД посылаются запросы для полного обновления сущностей, но чаще всего в разница в данных выражена только в виде нескольких полей. Из-за таких запросов появляется избыточная нагрузка на БД, от которой можно избавится.
Решение
Нужно обновлять сущности в хранилищах не через мапперы, а через шлюзы для отдельных полей. Знание об изменённых полях должно быть получено через события, генерируемыми для сущности. Так как может быть много событий при выполнении кода модели, следует сделать моноид для типа событий отдельных сущностей, который должен быть использоваться для суммации всех событий в одно, по которому должно происходить обновление. (Скорее тут моноид придется реализовать в shared модуле задев базовый класс событий, но проще скорее будет решение с отдельным моноидом работающий с типом событий конкретных сущностей).
Заблокировано по #30.