CQRS: зачем разделять запись и чтение?

В крупных корпоративных приложениях уже давно стало правилом хорошего тона разделять операции записи и чтения данных.

Такой подход позволяет:

- Минимизировать блокировки таблиц при одновременном обновлении и получении данных - Справляться с нагрузкой: систему чтения можно масштабировать отдельно от записи. - Улучшить архитектуру: кодовая база становится чище и понятнее - Упростить тестирование: логика изменения данных не перемешивается с логикой отображения

Все вышеописанное - это суть шаблона CQRS (Command Query Responsibility Segregation). Если упростить: - мы просто используем разные модели для изменения состояния системы и для его просмотра.

В следующем посте расскажу про крутой инструмент, который делает разработку в стиле CQRS максимально удобной и прозрачной