3 ms·
My NoSQL store of choices gives me document-level ACID semantics along with eventual consistency, MapReduce, and replication. Here's an example that explains h
by h1karu 12y ago
My NoSQL store of choices gives me document-level ACID semantics along with eventual consistency, MapReduce, and replication.
Here's an example that explains how to get transaction-like guarantees from this kind of NoSQL data-store:
http://guide.couchdb.org/editions/1/en/recipes.html http://guide.couchdb.org/editions/1/en/recipes.html
https://en.wikipedia.org/wiki/BigCouch https://en.wikipedia.org/wiki/BigCouch
- baibaichen 12y agoInteresting, that isn't transaction, it is just a workaround, and I don't think you can design your app like that which treat document as a transaction log. And then using view to generate the real information.
- h1karu 12y agothat's exactly how I design the parts of my app that need a transactional nature. Map/reduce views make it a breeze to query for a consistent aggregate view of the world. This is not something new it's a well established technique from the relational world called "event sourcing" http://www.martinfowler.com/eaaDev/EventSourcing.html http://www.martinfowler.com/eaaDev/EventSourcing.html when everything is a write you don't have to worry about conflicts or locks, so that's nice, plus couch is really good at scaling write thoughput with small documents.