Event Sourcing — это шаблон для хранения данных в виде событий в журнале. Вместе с событием (что важно) сохраняется также его контекст, где имеются все важные данные. Если при CRUD подходе мы бы обновили в БД запись, в которой хранятся данные сущности, то при реализации Event Sourcing мы просто добавляем новую строку в журнал. При получении текущего состояния сущности мы должны с помощью кода воспроизвести по имеющимся событиям текущие значения данных сущности. Модели ( View Models или Query Models), которые делают такое воспроизведение называют Проекциями.
Читать далееРубрика: Архитектура
Command and Query Responsibility Segregation
Command and Query Responsibility Segregation (сокращенно – CQRS) – паттерн разделения ответственности в коде (обрабатывающем обращения к серверу) на команды и запросы получения данных. Основан на принципе программирования Command-query Separation (CQS) , который сформулирован Бертандом Майером, создателем языка Eiffel.
Читать далееMaterialized View
Materialized View (материализованное представление) – это объект базы данных (таблица) , содержащий результаты запроса . Такие представления дают возможность ускорить в разы выполнение запросов, обращающихся к большому количеству данных. Добиваются этого за счет использования заранее вычисленных итоговых данных и результатов объединений таблиц. Такие данные как правило имеют очень относительно небольшой объем по сравнению с исходными данными.
Читать далее