SQLStreamStore / SQLStreamStore

Stream Store library targeting RDBMS based implementations for .NET

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SQL Stream Store CI release license code size docs status

⚠️ These libraries are no longer actively maintained.

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
Schema Creation Script Tool NuGet

CI Packages available on Feedz.

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

License:MIT License


Languages

Language:C# 94.8%Language:TSQL 3.7%Language:PLpgSQL 1.3%Language:Dockerfile 0.1%Language:Batchfile 0.0%Language:Shell 0.0%Language:PowerShell 0.0%