Skip to content

Stream Store library targeting RDBMS based implementations for .NET

License

Notifications You must be signed in to change notification settings

stjordanis/SQLStreamStore

 
 

Repository files navigation

SQL Stream Store Build Status release license code size docs status

A stream store library for .NET that specifically targets SQL based implementations. Primarily used to implement Event Sourced applications.

Package Install
SqlStreamStore (includes in-memory version for behaviour testing) NuGet
MS SQL Server / Azure SQL Database NuGet
PostgreSQL / AWS Aurora NuGet
MySQL up for grabs
Sqlite up for grabs
HTTP Wrapper API On CI Feed

CI Packages available on MyGet

Design considerations:

  • Designed to only ever support RDMBS/SQL implementations.
  • Subscriptions are eventually consistent.
  • API is influenced by (but not compatible with) EventStore.
  • Async only.
  • JSON only event and metadata payloads (usually just a string / varchar / etc).
  • No support for System.Transaction, enforcing the concept of the stream as the consistency and transaction boundary.

Building

Building requires Docker. Solution and tests are run on a linux container with .NET Core leveraging SQL Server and Postgres as sibling containers.

  • Windows, run .\build.cmd
  • Linux, run ./build.sh

Note: build does not work via WSL.

Help & Support

Ask questions in the #sql-stream-store channel in the ddd-cqrs-es slack workspace. (Join here).

Licences

Licenced under MIT.

About

Stream Store library targeting RDBMS based implementations for .NET

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 92.0%
  • TSQL 6.0%
  • PLpgSQL 1.4%
  • SQLPL 0.5%
  • Dockerfile 0.1%
  • Shell 0.0%