News for hackers. Stuff that matters.
Re:SenseiDB: Open-source, distributed, realtime, semi-struct... by joshhart on Friday January 20, 2012 @10:58AM (#3489879)
Looks like someone non-LinkedIn posted this so the rest of the team is unlikely to be around for a few more hours. Let me know if you have any questions! I worked mostly on the distribution & rpc piece.
Re:SenseiDB: Open-source, distributed, realtime, semi-struct... by threepointone on Friday January 20, 2012 @11:13AM (#3489940)
Congratulations on the project, and compliments on the breadth of documentation. Nicely done.

(Nitpick - none of the urls change. Some js error where you're not doing a pushState? You should report this.)

edit - this works -http://senseidb.github.com/sensei/index.html

Re:SenseiDB: Open-source, distributed, realtime, semi-struct... by joshhart on Friday January 20, 2012 @11:17AM (#3489963)
Thanks! I'll make sure that gets corrected.
Re:SenseiDB: Open-source, distributed, realtime, semi-struct... by lemming on Friday January 20, 2012 @11:55AM (#3490107)
How does the consistency model work? I saw the page describing the eventual consistency referred to a routing parameter (which I assumes routes to the same node to enforce read-your-writes), but I assume you can have conflicts between writes from separate sessions? How is the conflict resolution handled?
Re:SenseiDB: Open-source, distributed, realtime, semi-struct... by joshhart on Friday January 20, 2012 @12:46PM (#3490336)
This is exactly how it works. Queries based on some kind of id will always hit the same server, except when the server goes down. Sensei expects a semi-durable "data stream" for writes, which is very different from how most other databases work. Imagine a near-real time processing system though where updates go into a queue to be processes (financial transactions work like this). SenseiDB works great for indexing these types of events. Text search is a good example here - after you update your profile, it's put into a queue to be indexed. We don't want to wait for your profile to be indexed before we'll let you move onto another page.