Что такое CQRS?

Опубликовано: 1 Июля, 2021

В традиционных моделях данных, где операции чтения и записи время от времени синхронизируются с базами данных, становится очень необходимо поддерживать свойства ACID, относящиеся к данным. Здесь выступает роль CQRS, что означает «Разделение ответственности за запросы команд», которое указывает, что для обновления базы данных и чтения из нее должны использоваться разные модели данных. Команда и запрос - это две операции, обозначающие чтение и запись соответственно.

Традиционные операции, такие как CRUD - создание, чтение, обновление и удаление, являются основными операциями, регулярно выполняемыми в базах данных. Но по мере того, как наши потребности становятся более изощренными, мы обращаемся к новым и эффективным способам работы с данными. Разделение операций команды и запроса означает, что операции выполняются в отдельных логических процессах, возможно, на отдельном оборудовании. Изменение, инициированное в базе данных, направляет к модели команд для обновления базы данных, а затем к модели запроса для чтения из базы данных.

Основное применение модели «CQRS» заключается в ее использовании в высокопроизводительных приложениях для масштабирования операций чтения и записи. Таким образом, каждый метод должен быть либо командой, либо запросом, выполняющим отдельные действия, но не то и другое одновременно.