{
  "id": 7690265,
  "title": "[Event Sourcing] Trying out Sekiban DCB: Introduction",
  "url": "https://urgent.news/2026/09/16/event-sourcing-trying-out-sekiban-dcb-introduction",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-16T02:51:17.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/kary_0009/event-sourcing-trying-out-sekiban-dcb-introduction-4m78"
  },
  "original_language": "en",
  "account": "Trying out Sekiban DCB: Introduction\n\nWhile researching data consistency in NoSQL systems, the author discovered Event Sourcing and CQRS. They found a framework called Sekiban, which they decided to test out. Sekiban is an open-source framework for .NET, utilizing C#, capable of storing events in Azure Cosmos DB, PostgreSQL, or AWS DynamoDB.\n\nSekiban DCB is an Event Sourcing framework that implements a Dynamic Consistency Boundary (DCB), recording all events in a single global stream. The framework provides three approaches: DCB Native, DCB Wasm, and Sekiban Cloud (still in development).\n\nTo get started, the author set up a Windows 11 Pro environment with an ASP.NET development setup. They then installed the Sekiban DCB templates and created a new project using the Decider pattern with the command: \"dotnet new sekiban-dcb-decider -n MyApp\". Running \"dotnet run --project MyApp.AppHost\" launched the Aspire dashboard.\n\nThe project structure includes: DCBNativeProject.AppHost (managing dependent services), DCBNativeProject.ApiService (API routing and authentication), DCBNativeProject.EventSource (commands, handlers, projectors, and data search processing), and DCBNativeProject.ImmutableModels (defining Student/Class events, tags, state, and deciders).\n\nThe author demonstrated creating and retrieving a student record. Creating a student involved handling incoming JSON, converting it to a CreateStudent command, executing the command, generating a StudentCreated event, saving it to the database, and returning the result to the user. Retrieving a student required finding the student using their ID, defining the expected state using a StudentProjector, and calling GetTagStateAsync to restore the current state from past events. The result was then returned to the user.\n\nWith the framework handling database saving operations, the author found it convenient to save and load events without worrying about database code. They plan to add more entities and explore different event registrations in future endeavors.",
  "summary": "Introduction While researching ways to ensure data consistency using NoSQL in systems with frequent reads and writes, I became interested in Event Sourcing and CQRS. During this process, I found a framework called Sekiban , which is designed for Event Sourcing/CQRS, and decided to try it out. Sekiban - Event Sourcing / CQRS Framework Sekiban is an open-source Event Sourcing and CQRS framework for…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}