6 ms·
Maybe I'm being stupid, but a non-ACID database sounds scary to me.
by lquist 12y ago
Maybe I'm being stupid, but a non-ACID database sounds scary to me.
- angrybits 12y agoFor the people who don't need it, it's perfectly reasonable. That said, I suppose I haven't been fortunate enough to work on anything that doesn't need it.
- mrinterweb 12y agoThat kind of depends on your needs. Since the documents are hierarchical, and can be self-contained (depending on design), you can get a write receipt from MongoDB. I think the necessity of ACID applies more to relational databases that are updating multiple related records. If you really need an ACID like transaction in MongoDB, you have to do it in your software and check the write receipts. Of course this can fail if the database server suddenly goes down, but with MongoDB you should be using replica sets anyways.
- chris_wot 12y agoHow many people write receipt only databases?
- quizotic 12y agoNot stupid, but there are different perspectives that reduce the scariness. With are relational model, your working set needs to be joined together from pieces, so you want ACID to ensure that everyone sees a consistent set of pieces. But with a document model, you can 'pre-join' your working set into a single object that has everything you need. And that object doesn't have a fixed schema, so it can grow and evolve over time. While Mongo doesn't provide ACID across documents, it does guarantee atomicity, consistency, isolation and eventual durability for SINGLE documents. IF your application can live with a universe that consists of a single, arbitrarily complex object - then Mongo is as within epsilon of being as safe as a regular ACID transaction system.