This is a great inside view about nosql in production by an Amazon guy. He compares the different nosql solutions and also mysql.
One conclusion: There are big differences in performance and reliability between out-of-the-box configurations and tuned configurations of all databases, SQL and NOSQL and that makes comparison very difficult. For example MongoDB is just tuned for speed and most users don't realize the risks they are taking when using the default configuration.
1. Tim remembers how some guy tried to make a benchmark of Neo4j comparing it to a single MySQL table, and came out with 'see, it's faster'. i didn't quite get, what was faster it that benchmark, the first or the latter?
2. in the talk it was noted that people, if they want to improve performance, sometimes choose the tool without understanding how does it fit for their other needs. Even in relational world, i've got that Benjamin thinks that most of people using (relational) databases do understand the relational model, indices and things like that on utilitarian level like 'this makes query faster'. does he thinks that at least object oriented programming is more naturally understandable by developers? The question is about how they might use, say, OO DBs with more understanding. may we say that OO approach in programming is much less alien that map-reduce things? because if we say 'people don't understand', then they might even don't understand some other part of their programming job.
3. where did it all happen, why are there so many sirens? :)
"does he thinks that at least object oriented programming is more naturally understandable by developers? The question is about how they might use, say, OO DBs with more understanding. may we say that OO approach in programming is much less alien that map-reduce things? because if we say 'people don't understand', then they might even don't understand some other part of their programming job."
OO is not natural, in my opinion, it is simply popular for a variety of reasons way outside the scope of this interview. There is no free lunch: regardless of paradigm, the best developers have a deep understanding of what is going on inside and under their applications, where that includes things like the databases on which they depend, the networks on which they depend, etc.
maybe this will out of scope too, but i was interested in stories when a business-oriented person with knowledge of interpreted languages but without knowing the DB part succeeds in creating an online service, like here
so i want to think that the database tools (or particular database engines, chosen right) might help more people to succeed, while knowing the basics of things like OO, normalizations and such.
OR should we leave business to businessmen and developing to geeks?
(and is The Social Network movie showing a complete computer nerd get the common human psychology so right a total tale? :) )
1. I believe I was referring to Marko Rodriguez’ attempt, documented here: http://markorodriguez.com/2011/02/18/mysql-vs-neo4j-on-a-lar... I love Marko to bits and he often publishes work of great insight; but I'm not sure what he was trying to demonstrate with this one.
2. I'm not going to try to get into Ben’s head — I'll let him answer that.
3. Downtown Seattle. I have no idea what emergency was going on but there sure was something :)
One conclusion: There are big differences in performance and reliability between out-of-the-box configurations and tuned configurations of all databases, SQL and NOSQL and that makes comparison very difficult. For example MongoDB is just tuned for speed and most users don't realize the risks they are taking when using the default configuration.