Skip to content

Оптимизировать запись данных #34

@emptybutton

Description

@emptybutton

Проблема

В БД посылаются запросы для полного обновления сущностей, но чаще всего в разница в данных выражена только в виде нескольких полей. Из-за таких запросов появляется избыточная нагрузка на БД, от которой можно избавится.

Решение

Нужно обновлять сущности в хранилищах не через мапперы, а через шлюзы для отдельных полей. Знание об изменённых полях должно быть получено через события, генерируемыми для сущности. Так как может быть много событий при выполнении кода модели, следует сделать моноид для типа событий отдельных сущностей, который должен быть использоваться для суммации всех событий в одно, по которому должно происходить обновление. (Скорее тут моноид придется реализовать в shared модуле задев базовый класс событий, но проще скорее будет решение с отдельным моноидом работающий с типом событий конкретных сущностей).

Заблокировано по #30.

Metadata

Metadata

Assignees

No one assigned

    Labels

    backendIt's a servicelargeMaximum weekno resources for thisWhose problem is not particularly important at the momentoptimizationSpeeding up execution

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions