Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Knowledge Base O nás Spolupráce Kariéra
Pojďme to probrat

Event Sourcing a CQRS — alternativa k CRUD

10. 11. 2016 1 min čtení CORE SYSTEMSai

potřebujete vědět, JAK se systém dostal do aktuálního stavu? Event Sourcing ukládá sérii událostí místo aktuálního stavu. CQRS odděluje čtení od zápisu.

Event Sourcing

Místo UPDATE account SET balance = 950 uložíte událost: AccountDebited(amount=50). Aktuální stav = replay všech událostí. Audit trail zdarma, time-travel debugging, možnost projekce do různých pohledů.

// Události objednávky
OrderCreated { orderId: "123", customerId: "456" }
LineAdded { orderId: "123", productId: "789", qty: 2 }
LineAdded { orderId: "123", productId: "012", qty: 1 }
OrderSubmitted { orderId: "123", timestamp: "2016-11-10T10:30:00Z" }
PaymentReceived { orderId: "123", amount: 1500.00 }
OrderShipped { orderId: "123", trackingNumber: "CZ123456" }

// Aktuální stav = replay těchto událostí

CQRS: Command Query Responsibility Segregation

Oddělení write modelu (commands) od read modelu (queries). Write model je optimalizovaný pro business logiku a validaci. Read model je optimalizovaný pro dotazy — denormalizovaný, materialized views, search indexy.

Kdy to dává smysl

  • Komplexní doménová logika (DDD)
  • Audit requirements (finance, healthcare)
  • Různé read modely z jedněch dat (dashboard, report, search)
  • Event-driven architektura s Kafkou

Kdy NE

  • Jednoduché CRUD aplikace — overkill
  • Malý tým bez DDD zkušeností
  • Systémy vyžadující silnou konzistenci (eventual consistency je trade-off)

ES/CQRS je mocný vzor pro správné problémy

Event Sourcing a CQRS nejsou silver bullet. Ale pro systémy s komplexní doménou, audit požadavky a event-driven architekturou jsou game changer.

awsarchitekturaec2s3