ciunkos.com/Glossary

Enterprise architecture

CQRS (Command Query Responsibility Segregation)

Splitting a system into a write side that changes data and a separate read side shaped for queries, kept in sync by events.

Commands go through the domain model, which checks the rules and saves the change together with an event in one transaction (transactional outbox). A relay publishes the event, and a projection updates a read database built for the screens and reports that need it; queries never touch the domain model. The price is a second model to maintain and a read side that lags behind writes, so a user may not see their own change at once (eventual consistency). CQRS does not require event sourcing; the two are often confused.

CQRS with a transactional outboxThe client sends commands to the command handler, which loads the aggregate. The aggregate checks the rules; the state tables and the outbox table are saved in one transaction in the write database. An outbox relay, by polling or CDC, publishes the events at least once to a message broker. A projection handler applies them with idempotent upserts to the read database. Queries go from the client to the query handler, which reads only the read database. Client / API Command handlerLoads aggregate, saves itQuery handlerRead-only, no domain AggregateRules, raises events Write DB, one transaction State tablesSource of truthOutbox tablePending events Outbox relayPolling or CDC, at-least-once Message brokerAsync delivery Projection handlerIdempotent upsertsRead databaseViews for screens
Write sideRead sideMessagingState and outbox row commit together, so an event is published if and only if the change happened.

Share: LinkedIn · X ·

Related terms

  • Event sourcing: Storing every change as an event in an append-only log and rebuilding current state by replaying it, instead of storing only the latest state.
  • Transactional outbox: Saving an event to an outbox table in the same database transaction as the change itself, then publishing it to the broker separately.
  • Eventual consistency: A guarantee that copies of data will agree once updates stop arriving, but may briefly show different values in the meantime.
  • Database per service: Each service owns its data and no other service reads its tables directly; the others go through its API or its events.

← All terms

Free tools

Business idea validatorTen rubrics, a fixed-rule verdict and three cheap experiments. Free.Software cost estimatorYour project among 125 real products, with honest ranges.Engagement configuratorPick the work and its size, see hours, price and start date.SPF, DKIM and DMARC checkerGrade any domain’s email DNS, with records to paste.BIMI checkerRecord, DMARC, SVG Tiny PS logo and VMC or CMC, with an inbox preview.App store readiness checkWhat your web app lacks for the stores, TWA or Capacitor, files to copy.Build or buy calculatorSaaS against your own app over 1, 3 or 5 years, with the payback month.Runbook generatorA RUNBOOK.md for a system only you know, in two minutes, in your browser.SLA calculatorMonthly fee, response times, a downtime budget and contract clauses.Local model or API?Does the model fit your hardware, how fast, what it costs against an API.OpenAPI to MCP toolsPaste an OpenAPI spec, get narrow MCP tools and a server skeleton.KSeF invoice validatorCheck an FA(3) invoice against the official schema in your browser.Quoting time calculatorHours spent turning inquiries into quotes, and when an agent pays off.Multi-tenant SaaS calculatorWhich multi-tenant model, the work per release and the weeks to get there.Quote DeskDrop a customer inquiry, get lines matched to your price list. Free.AI Visibility DeskDoes Claude recommend your brand? Weekly runs of your buyers’ questions, free.List DeskClean an email list in your browser: dead domains, disposable, typos, duplicates.Eval DeskTest cases for your AI prompt, run after every change: what regressed, what got fixed.Dashboard DeskA growth dashboard created in your PostHog, plus what your tracking is missing.Signature DeskOne email signature template for the whole team, as HTML for Gmail, Outlook and Apple Mail.Phishing email checkerForward a suspicious email or upload the .eml file; three AI models and technical checks give a verdict.Email TestSend one email, check one-click unsubscribe, SPF, DKIM, DMARC and spam signals.Vitals DeskA daily lab check of your pages on a throttled phone: LCP, CLS and TBT, and an email when a page gets slower. Free.Legacy rewrite estimateLines of code to function points, hours and cost, with and without agents.

Want the fun version? The Corporate-speak Translator has a Polish dictionary of office phrases and what they really mean. Corporate-speak dictionary (Polish) →

Need this built, fixed or reviewed?

I build and rescue products with AI coding agents under rules: AI features in production, honest estimates, email that gets delivered.

Przemysław Zalewski

How I work

Przemysław Zalewski · 15+ years shipping software

“a true bias for action” client CTO, public LinkedIn recommendation

My pledge

All principles, the AI policy and working hours →

Pricing · Security · Privacy and analytics opt-out · Trust center