CQRS خواندن اطلاعات (Query) را از تغییر وضعیت (Command) جدا میکند. مسیرهای خواندن و نوشتن میتوانند مدلها و حتی ساختار داده متفاوتی داشته باشند.
CQRS الزاماً به معنی دو دیتابیس یا Event Sourcing نیست و برای سامانه ساده ممکن است پیچیدگی غیرضروری ایجاد کند.
در CQRS، مدل خواندن داشبورد میتواند برای گزارش سریع بهینه شود، اما مدل نوشتن باید قواعد تغییر سفارش را کنترل کند.
برای تکمیل بحث، ارتباط این مفهوم را با میکروسرویس و معماری مونولیتیک بررسی کنید.
چه وقت CQRS ارزش هزینه دارد؟
اگر مدل پیچیده ثبت سفارش با مدل گزارشگیری تفاوت زیادی داشته باشد، تفکیک مسیر خواندن و نوشتن مفید میشود. CQRS بهطور پیشفرض به معنای دو دیتابیس جدا یا Event Sourcing نیست.