CQRS (Command Query Responsibility Segregation): tách model ghi (command — thay đổi trạng thái) khỏi model đọc (query). Cho phép tối ưu riêng — ghi chuẩn hóa, đọc denormalized/replica — và scale đọc/ghi độc lập. Đổi lại: phức tạp hơn và thường eventual consistency giữa hai phía.
Event Sourcing: thay vì lưu trạng thái hiện tại, lưu chuỗi sự kiện bất biến dẫn tới trạng thái đó; trạng thái = replay các event. Lợi: audit log đầy đủ, xem lại quá khứ, rebuild view. Đổi lại: query trạng thái hiện tại khó hơn, phải xử lý versioning cho schema event.
Hai mẫu hay đi cùng nhưng độc lập: event là nguồn ghi, CQRS dựng các read-model (projection) từ event. Chỉ dùng khi domain thực sự cần — đừng mặc định áp cho CRUD thường.