Git Product home page Git Product logo

Comments (5)

joliver avatar joliver commented on July 22, 2024

I'm interested. I have some very specific requirements in mind, but I'm more than happy to see what you can put together. I think the biggest thing is dealing with indexes--we're responsible for keeping our indexes current and consistent. Ideally, the indexes would be updated on a separate thread. In any case, go ahead. I'd like to see what you can come up with.

from neventstore.

thefringeninja avatar thefringeninja commented on July 22, 2024

Well I have a rather naive implementation up right now that does no indexing, going to work on that today. I think the indexes should be updated on a single background thread, although maybe full consistency / eventual consistency on indexes is something the user can configure in the wireup? I've never gone this low level before, so forgive me if this is all obvious. I am thinking of doing the indexing like: after a write to the event stream, put the commit info in a thread safe queue. Background thread dequeues, writes the position of the commit, which is just the length of the stream after the events are persisted, then what's being indexed e.g. streamrevision.

from neventstore.

joliver avatar joliver commented on July 22, 2024

Yes, we definitely want to update indexes on the background thread. The indexes should probably have two representations: in memory (which is fully consistent with writes) and on disk (which is eventually consistent as you have mentioned).

One thing to make sure we do properly is error correction. For example, if a write occurs and succeeds, but then the process dies before the index update occurs. Ideally we'll be able to go to the end of the commit stream at startup and see that something exists. We should then be able to parse the contents to see if one or more commits actually occurred and then we can update the indexes accordingly.

from neventstore.

joliver avatar joliver commented on July 22, 2024

I'm going to close this as an issue in GitHub, but I still want to make sure you're interested in moving forward with this project.

from neventstore.

thefringeninja avatar thefringeninja commented on July 22, 2024

I am. I'm coming up to a good break point with my current project, so I should be able to spend sometime on this next week.

from neventstore.

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.