We performed our own crash testing for a Riak and about a million other databases, Riak and MySQL with InnoDB were the only cases scoring more than 5 out of 10. I think the problem with NoSQL is that they are targeting the wrong people - the lazy people. One of the DBs we reviewed (can't remember which) did not have single datacentre durability, lost like 80% data while crash during updating table contents and was bo…
It's Time to Drop the "F" Bomb - or "Lies, Damn Lies, and NoSQL."
31–40 of 67 posts
Re: It's Time to Drop the "F" Bomb - or "Lies, Damn Lies, and NoSQL."
#32Earlier quoted context omitted.
>Mongo is fully consistent Can you please explain this for a case where there are multiple replica sets, the database is sharded and nodes are across data centers? What's sacrificed? Something must be.
When we talk about consistency, we're talking about taking the database from one consistant state to another. With replica sets, we're still only dealing with one master. We can get inconsistant reads from the replicas, but we're always writing to a single master, which allows that master to determine the integrity of a write. With sharding, we're still only dealing with one canonical home for a specific key(defined…
Don't get me wrong, I love mongo. I'm building a web app backed by it. But the marketing talk is grating, which whT this post nails.
Re: It's Time to Drop the "F" Bomb - or "Lies, Damn Lies, and NoSQL."
#33Earlier quoted context omitted.
>Mongo is fully consistent Can you please explain this for a case where there are multiple replica sets, the database is sharded and nodes are across data centers? What's sacrificed? Something must be.
MongoDB is partition tolerant and consistent. You can never have multi-master with MongoDB, which is required for "always writable." However, it can be readable. Our CEO did a series of posts on distributed consistency, see http://blog.mongodb.org/post/475279604/on-distributed-consis... .
One love.
- Lil' B
Re: It's Time to Drop the "F" Bomb - or "Lies, Damn Lies, and NoSQL."
#34Earlier quoted context omitted.
10gen doesn't publish any benchmarks. See http://www.mongodb.org/display/DOCS/Benchmarks for the official position. I transcribed the MongoDB vs. Riak part of the Changelog webcast (available at http://thechangelog.com/post/3742814720/episode-0-5-1-mongod... ): ------------------------ Riak and all the dynamo-style databases are really distributed key/value stores and I think, you know, I've never used Riak in produc…
>Mongo is fully consistent Can you please explain this for a case where there are multiple replica sets, the database is sharded and nodes are across data centers? What's sacrificed? Something must be.
As for trade-offs: Relative to a relational db, there is no way to guarantee a consistent view of multiple objects because they could live on different servers which disagree about when "now" is. Relative to an eventually consistent system, you are unable to do writes if you can't contact the master or a majority of nodes are down.
Re: It's Time to Drop the "F" Bomb - or "Lies, Damn Lies, and NoSQL."
#35Earlier quoted context omitted.
When we talk about consistency, we're talking about taking the database from one consistant state to another. With replica sets, we're still only dealing with one master. We can get inconsistant reads from the replicas, but we're always writing to a single master, which allows that master to determine the integrity of a write. With sharding, we're still only dealing with one canonical home for a specific key(defined…
None of this is guaranteed by default. By default, writes are flushed every 60 seconds. By default, there's no journaling. How can one claim full consistency if the the former two points are true? Don't get me wrong, I love mongo. I'm building a web app backed by it. But the marketing talk is grating, which whT this post nails.
Re: It's Time to Drop the "F" Bomb - or "Lies, Damn Lies, and NoSQL."
#36To some commenters: the C in CAP and the C in ACID are not the same thing. If that is not clear to you, it is unlikely the database you develop will include correct implementations of core concepts. Knowledge is power. Peace and love to the human family. - Lil' B
Re: It's Time to Drop the "F" Bomb - or "Lies, Damn Lies, and NoSQL."
#37To some commenters: the C in CAP and the C in ACID are not the same thing. If that is not clear to you, it is unlikely the database you develop will include correct implementations of core concepts. Knowledge is power. Peace and love to the human family. - Lil' B
Good point...CAP and ACID are not overlapping concepts - in fact, you kinda have to throw out ACID rules when you create a Dynamo-inspired data store
Re: It's Time to Drop the "F" Bomb - or "Lies, Damn Lies, and NoSQL."
#38Earlier quoted context omitted.
>Mongo is fully consistent Can you please explain this for a case where there are multiple replica sets, the database is sharded and nodes are across data centers? What's sacrificed? Something must be.
The implication is that the people for whom eventual consistency is not an option will never reach a data set size or availability requirement that'll require them to use replication and experience the lag (and eventual consistency) involved.
James Hamilton has a good summary of the ideas in the paper: http://perspectives.mvdirona.com/2011/01/09/GoogleMegastoreT...
Re: It's Time to Drop the "F" Bomb - or "Lies, Damn Lies, and NoSQL."
#39Re: It's Time to Drop the "F" Bomb - or "Lies, Damn Lies, and NoSQL."
#40We performed our own crash testing for a Riak and about a million other databases, Riak and MySQL with InnoDB were the only cases scoring more than 5 out of 10. I think the problem with NoSQL is that they are targeting the wrong people - the lazy people. One of the DBs we reviewed (can't remember which) did not have single datacentre durability, lost like 80% data while crash during updating table contents and was bo…
wait until you fill your mysql + innodb with real data, have a crash and have to perform a check to get it back online. stick with riak.