Ang CQRS (Command Query Responsibility Segregation) ay isang architectural pattern na naghihiwalay sa read at write operations ng isang system sa magkahiwalay na modelo. Sa isang tradisyunal na arkitektura ng CRUD (Gumawa, Magbasa, Mag-update, Magtanggal), pinangangasiwaan ng layer ng pag-access ng data ang parehong mga operasyon sa pagbasa at pagsulat. Gayunpaman, sa CQRS, ang read at write na mga operasyon ay ibinukod sa dalawang magkaibang modelo, bawat isa ay may sariling hanay ng mga responsibilidad.
Ang modelo ng Command ay may pananagutan sa paghawak ng lahat ng pagpapatakbo ng pagsulat, tulad ng paggawa, pag-update o pagtanggal ng data. Karaniwan itong gumagamit ng tradisyonal na istraktura ng CRUD, ngunit nag-a-update lamang ng data sa command at hindi nagbabalik ng data.
Pinangangasiwaan ng modelong Query ang lahat ng read operation, gaya ng pagkuha ng data. Ito ay idinisenyo upang ma-optimize para sa mabilis, mahusay na pagbabasa nang walang overhead ng logic ng pag-update ng data.
Sa pamamagitan ng paghihiwalay ng mga operasyon sa pagsulat at pagbabasa, ang pattern ng CQRS ay nagbibigay-daan para sa higit na scalability, mas simpleng pagpapanatili, at pinahusay na pagganap. Pinapayagan din nito ang mga developer na iakma ang disenyo ng system sa kanilang mga partikular na pangangailangan, dahil ang mga write at read na mga modelo ay maaaring mabuo nang nakapag-iisa.
Petsa ng publikasyon: