在传统数据模型中,读写不时与数据库同步,因此维护与数据相关的“ACID”属性变得非常必要。这里是 CQRS 的角色,它代表“命令查询职责分离”,它指定应该使用不同的数据模型来更新数据库和从数据库中读取。命令和查询是两个操作,分别代表读和写。
CRUD——创建、读取、更新和删除等传统操作是定期对数据库进行的主流操作。但随着我们的需求变得更加复杂,我们开始采用新的高效数据处理方式。通过分离命令和查询操作意味着操作在不同的逻辑进程上运行,可能在一个单独的硬件上。数据库中发起的更改路由到命令模型以更新数据库,然后是查询模型以从数据库读取。
“CQRS”模型的主要用途是在高性能应用程序中使用它来扩展读写操作。因此,每个方法都应该是一个命令,或者是一个执行单独操作但不能同时执行的查询。