Re:A NoSQL Database with ACID Transactions
by giulianob on Monday March 04, 2013 @10:51AM
(#5318747)
The issue I see the most is that NoSQL has become synonymous with distributed databases which is really where making ACID promises becomes a challenge. If you had a single node document DB, it probably wouldn't be very challenging to make it ACID. SQL or not, as soon as you want to make it automatically shard and distributed, then you will suffer large performance impacts with transactions. Are there any single node document DBs which provide ACID guarantees out there? I know Redis can do it with multi/exec but Redis isn't really document oriented though it's an awesome piece of software.
[ Parent
| on HN ]
Re:A NoSQL Database with ACID Transactions
by misframer on Monday March 04, 2013 @10:54AM
(#5318763)
Redis doesn't support transaction rollbacks, so they're not really "atomic."
Re:A NoSQL Database with ACID Transactions
by giulianob on Monday March 04, 2013 @11:29AM
(#5318950)
They do have DISCARD so if you call MULTI and want to bail out you can say DISCARD. What they don't have is automatically rolling back if there's a failure while executing commands. However, failures in Redis are mainly going to happen if you issue a bad command (something you should catch during development). IIRC, if there's a power failure or something happens before the transaction finishes, Redis is able to discard the transaction during startup.
Re:A NoSQL Database with ACID Transactions
by lucian1900 on Tuesday March 05, 2013 @03:43AM
(#5323588)
True. For example, CouchDB is ACID, as long as you consider versioned data equivalent to transactions.