NoSQL Trolls

trollI have a Twitter feed for the term “nosql” and every day I get tweets like:

“What moron came up with #nosql?  you’re all fired!”

“nosql is making all the same mistakes people made 40 years ago… relational dbs won!”

“yeah, use nosql… if you don’t mind losing all your data”

(these are based on real tweets, but aren’t actually verbatim.  They’re all pretty much the same.)  I hope I meet someone who says this to me someday, though, so I can say: “Boy, what a good point!  If only Google and Yahoo and LinkedIn and Twitter and the thousands of other high-traffic websites had listened to you.  Obviously you know what’s going on better than they do, this NoSQL thing is just a bunch of idiots spinning their wheels.”

Then, as they reeled, rendered helpless by my cunning sarcasm, I’d continue in a slightly different vein: “You freakin’ moron!  Relational databases failed miserably for huge websites, so alternative database popped up to fill that need.  And, so long as we’re making a new database, we figure computer languages and database administration have changed a bit since 1974, so we might as well make dbs easier to use.  You’re welcome!”

Then I’d punch them in gibblies until they saw my point.

I might need a vacation.

  • Yeah, you might. 😉

    I see a lot of this stuff too, though in real life rather than Twitter. There are at least three points I almost always have to make when one of these trolls pops up.

    (1) We already know it’s more about ACID than SQL. Not only is such a “critique” unoriginal, but it’s irrelevant as well because it really doesn’t change anything about the relationship between traditional vs. non-traditional databases.

    (2) “Not Only SQL” isn’t about saying our flavor should be the only one. It’s about rejecting that attitude from the ACID grognards.

    (3) The CAP Theorem and its practical application, not just things that only exist in a few caffeine-addled newbies’ heads . The theorem itself was presented by a respected academic in an ACM keynote. Since then it has been the subject of formal proof by other academics, while the value of its application has been empirically demonstrated by everyone from Amazon to Yahoo.

    Those three points are usually sufficient to stun the trolls into silence, even if expecting them to grow up and admit their error or apologize for their rudeness is unrealistic. Now, if only I could find a similar deterrent for the “cloud is just grid” trolls.

  • Yeah, you might. 😉

    I see a lot of this stuff too, though in real life rather than Twitter. There are at least three points I almost always have to make when one of these trolls pops up.

    (1) We already know it’s more about ACID than SQL. Not only is such a “critique” unoriginal, but it’s irrelevant as well because it really doesn’t change anything about the relationship between traditional vs. non-traditional databases.

    (2) “Not Only SQL” isn’t about saying our flavor should be the only one. It’s about rejecting that attitude from the ACID grognards.

    (3) The CAP Theorem and its practical application, not just things that only exist in a few caffeine-addled newbies’ heads . The theorem itself was presented by a respected academic in an ACM keynote. Since then it has been the subject of formal proof by other academics, while the value of its application has been empirically demonstrated by everyone from Amazon to Yahoo.

    Those three points are usually sufficient to stun the trolls into silence, even if expecting them to grow up and admit their error or apologize for their rudeness is unrealistic. Now, if only I could find a similar deterrent for the “cloud is just grid” trolls.

  • I meant to say “The CAP Theorem and its practical application are real, …” in that third point. Overediting strikes again.

  • I meant to say “The CAP Theorem and its practical application are real, …” in that third point. Overediting strikes again.

  • Is that the troll under the Fremont bridge? You a Seattle local too? 😀

    People are terrified of their DBs becoming even a tiny bit irrelevant. All their lifetime skills of shoving things in tables and optimizing SQL black magic may not make them “king of the hill” anymore.

  • Is that the troll under the Fremont bridge? You a Seattle local too? 😀

    People are terrified of their DBs becoming even a tiny bit irrelevant. All their lifetime skills of shoving things in tables and optimizing SQL black magic may not make them “king of the hill” anymore.

  • @Jeff Good points, I’ll add them to my repertoire of insults and physical violence 🙂

    The whole name debate is such a waste of time. NoSQL is a crappy name (it doesn’t describe what the databases are actually about, it’s negative, it implies NoSQLers want to eliminate SQL), but it’s catchy name, so people are going to have to live with it. As a programmer for MongoDB, I have some experience with sucking it up and living with crappy names.

    @Bradford I live in NYC but I lived in Seattle for a month and loved it. Great coffee and free wireless everywhere!

    Programmers definitely seem to feel threatened by it. I think it’s like [some study I read somewhere]: if you tell a kid he’s smart, he’ll try not to take on challenges that might make him look dumb and he’ll be less successful. If you congratulate a kid on how hard he works, he’ll try to work hard and end up much more successful than the “smart” kid. Programmers should see themselves as all-Googling, not all-knowing.

  • @Jeff Good points, I’ll add them to my repertoire of insults and physical violence 🙂

    The whole name debate is such a waste of time. NoSQL is a crappy name (it doesn’t describe what the databases are actually about, it’s negative, it implies NoSQLers want to eliminate SQL), but it’s catchy name, so people are going to have to live with it. As a programmer for MongoDB, I have some experience with sucking it up and living with crappy names.

    @Bradford I live in NYC but I lived in Seattle for a month and loved it. Great coffee and free wireless everywhere!

    Programmers definitely seem to feel threatened by it. I think it’s like [some study I read somewhere]: if you tell a kid he’s smart, he’ll try not to take on challenges that might make him look dumb and he’ll be less successful. If you congratulate a kid on how hard he works, he’ll try to work hard and end up much more successful than the “smart” kid. Programmers should see themselves as all-Googling, not all-knowing.

  • Sean

    Just want to say, as a person researching whether NoSQL has a place in my organization, that Jeff Darcy’s approach is an excellent way to go. Provide data, and realize that more people are watching than just the troll(s). This has some great advantages over just thumping a troll:
    1) providing rational points without ad hominem shows that an approach isn’t just a dogmatic or philosophical entrenchment but was considered rationally and pragmatically.
    2) it provides ammo for countering arguments from within a person’s own organization who are resistant to change.

  • Sean

    Just want to say, as a person researching whether NoSQL has a place in my organization, that Jeff Darcy’s approach is an excellent way to go. Provide data, and realize that more people are watching than just the troll(s). This has some great advantages over just thumping a troll:
    1) providing rational points without ad hominem shows that an approach isn’t just a dogmatic or philosophical entrenchment but was considered rationally and pragmatically.
    2) it provides ammo for countering arguments from within a person’s own organization who are resistant to change.

  • Ken

    >> If only Google and Yahoo and LinkedIn and Twitter and the thousands of other high-traffic websites had listened to you …

    Kristina,

    Facebook and other web sites are part of the popular culture but there are plenty of other applications that require a solution for managing persistent data.

    A more balanced attitude is to be database-agnostic.

    Match the tool to the requirements, not vice-versa.

  • Ken

    >> If only Google and Yahoo and LinkedIn and Twitter and the thousands of other high-traffic websites had listened to you …

    Kristina,

    Facebook and other web sites are part of the popular culture but there are plenty of other applications that require a solution for managing persistent data.

    A more balanced attitude is to be database-agnostic.

    Match the tool to the requirements, not vice-versa.

  • @ken I think you misunderstood my point, a little… NoSQL trolls say “NoSQL dbs should never be used!” I would be just as much of a troll to turn around and say “Relational databases should never be used!” Relational databases are fantastic for some applications and people are familiar with them (which shouldn’t be discounted as a major point in their favor).

    > A more balanced attitude is to be database-agnostic.

    Absolutely. True agnosticism’s tough, though, we all have our favorites 🙂

  • @ken I think you misunderstood my point, a little… NoSQL trolls say “NoSQL dbs should never be used!” I would be just as much of a troll to turn around and say “Relational databases should never be used!” Relational databases are fantastic for some applications and people are familiar with them (which shouldn’t be discounted as a major point in their favor).

    > A more balanced attitude is to be database-agnostic.

    Absolutely. True agnosticism’s tough, though, we all have our favorites 🙂

  • Calum

    As kristina said “NoSQL is a crappy name (it doesn’t describe what the databases are actually about, it’s negative, it implies NoSQLers want to eliminate SQL), but it’s catchy name”. Yes. It’s a ridiculously crappy name and trying to make it stand for “Not Only SQL” instead of the original “NoSQL” just doesn’t cut it. It’s catchy for the wrong reasons and get thes heckles up on experienced DB designers when they see yet another crackpot group trying to dismiss what they do – and then have the audacity to bitch when those experienced DB designers try to dismiss the NoSQL idea.

    The only thing this article does is pander to people already convinced. Holding the attitude that anyone who disagrees with you is a troll (that may not be the intent, but it IS how it reads) is ridiculous and offensive. I’m actively trying to understand why a NoSQL option is better than an ORDBMS alternative – yet all I keep coming up against is insult and claims of being a troll. How about being HELPFUL and writing some decent quality articles that explain clearly what the differences are and an objective discussion of where each option may be preferable? I’m sure those exist – somewhere – but crap like this is far far easier to find.

  • Anonymous

    This is me blowing off steam in a personal blog post, not an informational article. If you’re interested in NoSQL, choose a database you’re interested in and look for information on that database. If you’re looking for pure speed, check out Redis. If you’re looking for more flexible querying, check out MongoDB. If you’ve got a graph problem, check out Neo4j. I work on MongoDB, so here are some resources:

    Wiki page on use cases
    The MongoDB blog
    Post on moving from MySQL+ORM to MongoDB

    Asking for articles on the differences between RDBMs and NoSQL makes no sense, it’s like an article on the difference between C++ and every other language. I’m saying that anyone who rejects all NoSQL databases is a troll, as I’d say anyone who rejects all programming languages other than their personal favorite is a troll.

  • Calum

    There’s a problem with personal blog posts and unfortunately it’s not one the author has any control over – when they become linked from a site claiming to be authoratative (nosql-database.org for example) they lose their “personal” aspect.

    Thanks you for your suggestions, I’ll have a look at Redis and MongoDB first and I greatly appreciate the links you’ve provided.

    I disagree on your statement that asking for articles on the differences between ordbms and NoSQL makes no sense however – if I had asked for an article on the differences between PostgreSQL and NoSQL, then you’d be right – but what I asked would be more akin to wanting an article on the differences between strongly typed and weakly typed languages. That doesn’t mean that every single NoSQL offering would be mentioned, I’ve already spotted just how diverse their attributes are, but you just listed three great examples for me along with a snapshot opinion on what sort of use they’re each best for. You’ve just proved the article I would want is possible!

  • Ah yeah

    SQL is shit. I fully support you into killing that pile of steaming shit which SQL is.

kristina chodorow's blog