A .NET stream store library for implementing event-sourced applications using SQL databases.
SQL Stream Store is a .NET library that provides a stream store implementation for SQL-based relational databases, enabling event sourcing in applications. It allows developers to persist and retrieve event streams in databases like MS SQL Server, PostgreSQL, and MySQL, serving as a foundation for event-driven architectures. The library solves the problem of implementing event sourcing with familiar SQL databases, offering a lightweight alternative to specialized event stores.
.NET developers building event-sourced applications or microservices who prefer using SQL databases for event storage. It is also suitable for teams adopting CQRS and event-driven design patterns.
Developers choose SQL Stream Store for its simplicity, SQL database compatibility, and async-only API, making it easier to integrate event sourcing into existing .NET ecosystems. Its unique selling point is being a dedicated, RDBMS-focused stream store without the overhead of more complex event store solutions.
Stream Store library targeting RDBMS based implementations for .NET
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Designed exclusively for RDBMS, ensuring deep compatibility and performance with SQL databases like MS SQL Server, PostgreSQL, and MySQL, as stated in the README.
Provides adapters for multiple SQL databases and includes an in-memory version for testing, making it versatile for various SQL environments without extra setup.
Tailored for event-sourced applications, storing events as JSON payloads with metadata, which simplifies event persistence and retrieval in SQL databases.
All operations are asynchronous, promoting non-blocking I/O and better scalability in modern .NET applications, as highlighted in the key features.
The README explicitly states that the libraries are no longer actively maintained, meaning no bug fixes, security updates, or new features will be provided.
Does not support System.Transaction, enforcing the stream as the transaction boundary, which can be restrictive for applications requiring distributed or cross-stream transactions.
Sqlite support is listed as 'up for grabs' and not implemented, and the HTTP Wrapper API is only available on CI feed, indicating missing or unstable components.
SQLStreamStore is an open-source alternative to the following products: