コマンドクエリ責任分離
情報技術において、コマンドクエリ責任分離(コマンドクエリせきにんぶんり、英語: Command Query Responsibility Segregation, CQRS)とは、コマンドクエリ分離の背景にあるアイデアをサービスのレベルにまで拡張させたシステムアーキテクチャである。[1][2] このようなシステムではコマンドを送信するインターフェースと、クエリを送信するインターフェースを分離する。CQSと同様に、クエリリクエストを処理する際はデータを取得するだけで、(ログ書き込みなどの例外を除き)システムの状態を変更することはない。一方、コマンドリクエストはシステムの状態を変更する。
多くのシステムでは、データモデルの分離まで進める。クエリを処理するために用いられるモデルは一般に"読み取りモデル"と呼ばれ、コマンドを処理するために用いられるモデルは"書き込みモデル"と呼ばれる。
参考文献
編集- ^ Young. “CQRS Documents”. 2012年12月28日閲覧。
- ^ Fowler. “CQRS”. 2011年7月14日閲覧。