クラウドを本格活用する時代に入り、エンタープライズアプリケーションのアーキテクチャーに変革が起きている。その一つが、スケーラブルなシステムを実現する「CQRS」(Command Query Responsibility Segregation)アーキテクチャーだ。オブジェクト指向の大家Bertrand Meyer氏やGreg Young氏によって提唱された。 一言でいうと「書き込み(Command)と読み出し(Query)の責務を分離する設計モデル」で、データ書き込みシステムとデータ読み出しシステムを別々に用意することになる。 CQRSアーキテクチャーを採用した場合、システムがデータ更新要求を受けると、その要求に応答してからデータを更新し、キューイングなどの仕組みを用いて読み出しシステムに非同期でデータを反映する。更新データを参照するには、別途読み出しシステムにアクセスする必要がある。 デ