https://github.com/j-tech-japan/sekiban
Sekiban - an Opinionated Event Sourcing and CQRS Framework using C#. It can store data into Azure Cosmos DB, AWS Dynamo DB or Postgres
https://github.com/j-tech-japan/sekiban
c-sharp cosmos-db cosmosdb cqrs csharp dotnet dynamo-db dynamodb event-sourcing eventsourcing
Last synced: 2 months ago
JSON representation
Sekiban - an Opinionated Event Sourcing and CQRS Framework using C#. It can store data into Azure Cosmos DB, AWS Dynamo DB or Postgres
- Host: GitHub
- URL: https://github.com/j-tech-japan/sekiban
- Owner: J-Tech-Japan
- License: other
- Created: 2023-05-25T05:14:51.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2026-04-16T08:53:20.000Z (2 months ago)
- Last Synced: 2026-04-16T10:35:27.340Z (2 months ago)
- Topics: c-sharp, cosmos-db, cosmosdb, cqrs, csharp, dotnet, dynamo-db, dynamodb, event-sourcing, eventsourcing
- Language: C#
- Homepage: https://www.sekiban.dev
- Size: 80.4 MB
- Stars: 328
- Watchers: 6
- Forks: 8
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
# Sekiban - Event Sourcing and CQRS Framework
**Sekiban** is an event sourcing and CQRS framework for .NET. It supports Azure Cosmos DB, PostgreSQL, and DynamoDB as event stores, with Microsoft Orleans for actor-based scalability.
π **Documentation**: [sekiban.dev](https://www.sekiban.dev/)
## Implementations
> **Note**: Sekiban has two implementations. **DCB (Dynamic Consistency Boundary)** is the recommended approach for new projects. Legacy Sekiban.Pure is deprecated.
| Implementation | Description | Status |
|---------------|-------------|--------|
| **Sekiban DCB** | Dynamic Consistency Boundary - tag-based event sourcing | β
Recommended |
| Sekiban.Pure | Traditional aggregate-based event sourcing | β οΈ Deprecated |
| Sekiban.Core | Single-server version without actor model | β Legacy |
| Sekiban.ts | TypeScript event sourcing | π¬ Alpha |
## Quick Start
### Sekiban DCB (Recommended)
```bash
dotnet new install Sekiban.Pure.Templates
dotnet new sekiban-orleans-aspire -n YourProjectName
```
### Cloud Deployment
DCB supports both Azure and AWS:
| Component | Azure | AWS |
|-----------|-------|-----|
| Event Store | Cosmos DB / PostgreSQL | DynamoDB |
| Snapshots | Azure Blob Storage | Amazon S3 |
| Orleans Clustering | Azure Table / Cosmos DB | RDS PostgreSQL |
| Orleans Streams | Azure Queue | Amazon SQS |
## What is DCB?
**Dynamic Consistency Boundary (DCB)** replaces rigid per-aggregate transactional boundaries with a context-sensitive consistency boundary based on event tags. Instead of maintaining multiple streams and coordinating cross-aggregate invariants via sagas, DCB uses a single event stream per bounded context where each event carries tags representing affected entities.
Key benefits:
- **Flexible boundaries**: Define consistency scope per command, not per aggregate
- **No saga complexity**: Cross-entity invariants without compensating events
- **Optimistic concurrency**: Tag-based conflict detection
- **Scalable**: Actor model integration with Microsoft Orleans
Learn more at [dcb.events](https://dcb.events)
## Documentation
- **Website**: [sekiban.dev](https://www.sekiban.dev/)
- **DCB Documentation**: [docs/dcb_llm](./docs/dcb_llm/) (English) | [docs/dcb_llm_ja](./docs/dcb_llm_ja/) (ζ₯ζ¬θͺ)
- **Pure Documentation**: [docs/llm](./docs/llm/) (English) | [docs/llm_ja](./docs/llm_ja/) (ζ₯ζ¬θͺ)
## MCP (Model Context Protocol)
Sekiban provides MCP support for AI coding assistants:
```bash
claude mcp add sekibanDocument --transport sse https://sekiban-doc-mcp.azurewebsites.net/sse
```
## NuGet Packages
### DCB Packages (Recommended)
| Package | Description |
|---------|-------------|
| [Sekiban.Dcb.Core](https://www.nuget.org/packages/Sekiban.Dcb.Core) | Core DCB framework |
| [Sekiban.Dcb.Orleans.WithResult](https://www.nuget.org/packages/Sekiban.Dcb.Orleans.WithResult) | Orleans integration |
| [Sekiban.Dcb.Postgres](https://www.nuget.org/packages/Sekiban.Dcb.Postgres) | PostgreSQL event store |
| [Sekiban.Dcb.CosmosDb](https://www.nuget.org/packages/Sekiban.Dcb.CosmosDb) | Cosmos DB event store |
| [Sekiban.Dcb.DynamoDB](https://www.nuget.org/packages/Sekiban.Dcb.DynamoDB) | DynamoDB event store |
| [Sekiban.Dcb.BlobStorage.AzureStorage](https://www.nuget.org/packages/Sekiban.Dcb.BlobStorage.AzureStorage) | Azure Blob snapshots |
| [Sekiban.Dcb.BlobStorage.S3](https://www.nuget.org/packages/Sekiban.Dcb.BlobStorage.S3) | S3 snapshots |
### Legacy Packages
Legacy Sekiban.Core and Sekiban.Pure packages are available on NuGet but are no longer recommended for new projects. See [core_main branch](https://github.com/J-Tech-Japan/Sekiban/tree/core_main) for legacy documentation.
## Sponsors
Sekiban is Apache 2.0 open source. Support us via [GitHub Sponsors](https://github.com/sponsors/J-Tech-Japan).
Special Sponsor
## About
**J-Tech Japan (ζ ͺεΌδΌη€ΎγΈγ§γ€γγγ―γΈγ£γγ³)** has been developing Sekiban since 2022.
## Support
For training or support, contact [sekibanadmin@jtechs.com](mailto:sekibanadmin@jtechs.com).
- [Contribution Guidelines](./CONTRIBUTING.md)
- [Code of Conduct](./CODE_OF_CONDUCT.md)
## Contributors
## License
Apache 2.0 - [See License](./LICENSE)
Copyright (c) 2022- J-Tech Japan