Giter Site home page Giter Site logo

Support SqlStreamStore about equinox HOT 7 CLOSED

jet avatar jet commented on May 22, 2024 2
Support SqlStreamStore

from equinox.

Comments (7)

bartelink avatar bartelink commented on May 22, 2024 1

Removing up-for-grabs as an implementation is underway

from equinox.

NatElkins avatar NatElkins commented on May 22, 2024

@bartelink Has there been any consideration of using https://github.com/JasperFx/Marten as a backing store?

from equinox.

bartelink avatar bartelink commented on May 22, 2024

Hey Nat, good question. While I'm aware of Marten from the blog and a podcast or two, I'm unfamiliar with the details of what Marten does wrt event sourcing and/or whether it would mesh well. Wild guess says it brings a programming model and an opinion to the table to a greater degree than SSS does.

Clearly Postgres is a very suitable target though. (Also is it Marten Postgres-only? SQL Server / Azure SQL would be an important DB to support)

I guess the key to answering your question would be to ask whether Marten offers an easier path to integration as a first class Equinox adapter; I'd be delighted to hear anyone's insight wrt that. (other considerations are having low dependencies, and the potential to integrate detailed metrics and logging)

eta: This does not necessarily need to be an either/or - if it fits, there is no problem in having both in the end. The above is simply the high level decision process I'd be using to decide where to start wrt supporting SQL Server and Postgres (with a key element being standing on the shoulders of giants in terms of finding a well-proven set of tests, SQL Schema and community)

from equinox.

bartelink avatar bartelink commented on May 22, 2024

Quick scan says:
+: excellent docs, it seems the ES APIs would facilitate an easy initial implementation
-: there's a heck of a lot to Marten's codebase as it's doing all those things - that leads to lots of dependencies and code to traverse which would not be relevant for Equinox
-: not low on dependencies ?
0: the projections stuff in the cosmos branch and how it will integrate into https://github.com/jet/equinox/wiki/Cosmos-Storage-Model will likely be applicable to Postgres and SQL Server too so that aspect is not beneficial)

Marten is clearly a very capable system with good docs, community and tests but my sense/bias that it's already trying to do a lot of things (and that this fact would make an integration problematic) isn't reduced by my scan

from equinox.

NatElkins avatar NatElkins commented on May 22, 2024

@bartelink Thanks for the write up. I don't necessarily think it's a good idea either, I just know that there's a big overlap in features and was wondering if it had been looked at as a backing store. Thanks for taking the time to dig in a bit.

from equinox.

bartelink avatar bartelink commented on May 22, 2024

.@NatElkins it seems that CosmoStore is gaining support for Marten https://github.com/Dzoukr/CosmoStore/tree/master/src/CosmoStore.Marten
(I got a few hours into a spike on SSS after the above discussion; and my bias remains that this is going to be the best fit, should I end up in a space where I have spare capacity to attack this need)

This issue remains very much open should anyone wish to contribute; I believe the caching, snapshotting, benchmarking support in here and potential to cleanly add cold storage strategies remain a very good fit for using a SQL based store with. (By the same token, if anyone is interested, it it's not a problem to have support for Marten and SSS in Equinox)

from equinox.

bartelink avatar bartelink commented on May 22, 2024

See #168

from equinox.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.