Skip to content
This repository has been archived by the owner on Aug 13, 2024. It is now read-only.

Stream Store library targeting RDBMS based implementations for .NET

License

Notifications You must be signed in to change notification settings

elevate/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 / AWS Aurora NuGet
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, Postgres and MySQL 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

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%