CQRS: зачем разделять запись и чтение?
В крупных корпоративных приложениях уже давно стало правилом хорошего тона разделять операции записи и чтения данных.
Такой подход позволяет:
- Минимизировать блокировки таблиц при одновременном обновлении и получении данных - Справляться с нагрузкой: систему чтения можно масштабировать отдельно от записи. - Улучшить архитектуру: кодовая база становится чище и понятнее - Упростить тестирование: логика изменения данных не перемешивается с логикой отображения
Все вышеописанное - это суть шаблона CQRS (Command Query Responsibility Segregation). Если упростить: - мы просто используем разные модели для изменения состояния системы и для его просмотра.
В следующем посте расскажу про крутой инструмент, который делает разработку в стиле CQRS максимально удобной и прозрачной