NoSQL is Software Darwinism

In I Can’t Wait for NoSQL to Die, Ted Dziuba (who’s always good for a fun rant that includes a dose of reality) tries to make the point that real businesses use relational databases and that your startup isn’t Google. Well done, Ted. I laughed to myself a few times reading your post. And I agree–to a point.

I see this “NoSQL movement” (as it’s called) as a bit of Software Darwinism that’s playing out before our eyes. There are a lot of Key/Value stores and distributed schema-free Document Oriented Databases out there. They’re springing up like weeds in a spring garden. And folks love to blog about them and/or talk about how their favorite is better than the others (or MySQL).

That’s all well and good. It’s how this stuff works. But if you look a couple years down the road, there’s a world where Oracle, MySQL, and PostgreSQL are still around and serve as the source of truth for a lot of really important data–especially in OLTP systems. But part of that reality also includes newer systems like Redis, Cassandra, CouchDBVoldemort, and Hadoop.

And don’t think that the MySQL universe won’t have evolved by then.  Look no further than XtraDB or InnoDB plug-in, PBXT, and Drizzle. Meanwhile, if you’re not into all the hype and/or spending your time finding all the bugs, that’s okay. Grab some popcorn and watch the show. The end result will be better software and more choices for solving problems.

See Also: Eric Day’s Thoughts on NoSQL

About Jeremy Zawodny

I'm a software engineer and pilot. I work at craigslist by day, hacking on various bits of back-end software and data systems. As a pilot, I fly Glastar N97BM, Just AirCraft SuperSTOL N119AM, Bonanza N200TE, and high performance gliders in the northern California and Nevada area. I'm also the original author of "High Performance MySQL" published by O'Reilly Media. I still speak at conferences and user groups on occasion.
This entry was posted in programming. Bookmark the permalink.

25 Responses to NoSQL is Software Darwinism

  1. dm says:

    agreed RDBMS is not going away. rather I think we will see a segmentation based on use case: http://dmerr.tumblr.com/post/409288020/how-i-view-the-emerging-nosql-space-and-how-it

    no more one-size-fits-all.

  2. Wow just now seeing the new blog – yay you moved to WordPress. 🙂

    As for NoSQL – I echo the same sentiments. People have let the hype get to them and are starting to think it’s NoSQL or RDBMS. The overlying theme at the NoSQL East conf I attended a few months ago was that the best solution will likely be a mix of both systems depending on your needs and surely not a complete outruling of MySQL/etc anywhere in the near future.

    P.S. – I’m finally making the leap and moving to SF this summer! See you around.

  3. Paul Heath says:

    For the 95+% of the world that does not have massive scalability requirements, the more interesting NoSQL alternatives to RDBMS are the graph databases, such as neo4j. Provides much greater flexibility in creating and traversing relationships, and also has schema-less capability.
    Ted’s blog also cracked me up – everyone is so hot and bothered over massive scale, but how many does it really apply to.

  4. Pingback: just heard about http://project-voldemor… « ram7os

  5. It’s worth noting that some of the largest commercial systems (some websites, some non-web related uses) with huge amounts of queries are run on SQL databases.

    I doubt most of the websites who claim “SQL doesn’t scale” are anywhere near what some of these companies are doing for a decade plus. FWIW Google’s AdWords platform uses MySQL.

    One thing I do know is that MySQL will have a migration path in 10 years and support will exist for a very long time. Same goes for most popular SQL platforms. I can’t say the same for any of the NoSQL platforms yet.

  6. Pingback: Top Posts — WordPress.com

  7. Pingback: Around the web | alexking.org

  8. Pingback: NoSQL is Software Darwinism « Jeremy Zawodny's blog « 技術者派遣の技術日誌ブログ

  9. Adrian says:

    It’s like comparing assembly to Ruby. Of course you can use both of them, but their use is not (shoud not be) interchangeable. NoSQL will probably remain a niche approach in software development, and a solid one at that.

  10. As a developer who wants to fix stuff for good, and not have continued maintenance issues, something like Cassandra is attractive because I can cost effectively put two instances on two distinct racks/data centers/continents, not worry about a “master” that goes down and is complicated to replace and add instances to add scale.

    I have to handle “eventually consistent” instead of ACID, and often that’s quite feasible.

    I have been trying to have a simple and cheap shared-nothing setup with various SQL servers, never had luck. Not saying I haven’t overlooked something, but many “NoSQL” offerings are real and simple (hate the hype though).

  11. Glass says:

    It’s funny how everyone complaining about NoSQL is mostly advocating about how 99% of all problems can be solved by RDBMS.

    Well, yeah, but the same thing can be said about text files, billions of XMLs, having someone type persistent data on typewriters and read back on demand…

    Just because you can use something (RDBMS) doesn’t mean you have to.

    Document-stores are a really nice solution for lot of Enterprise Content Management systems where you have to use metadata or dynamically-created tables for different document types and their keywords. I’ve seen lots of ERP systems that would do the same thing about product listing and physical storage metadata stuff. When you have non-tabular data, you can choose between too many joins or too many tables. Also, most workflow systems are already moving to BPMN, which stores data in XML format – which is something perfect for document stores. I won’t even talk about CMS systems. There you go, an Enterprise niche that could be filled beautifully by NoSQL (and yes, it’s happening already).

  12. Wiley says:

    Who were your parents?

  13. Pingback: Destillat #25 | duetsch.info - Open Source, Wet-, Web-, Software

  14. Demis Bellot says:

    I’ve also decided to weigh in on this article and share my thoughts on NoSQL databases which may be of interest to people curious about the technology titled:

    NoSQL and RDBMS – Choose your weapon.
    http://www.servicestack.net/mythz_blog/?p=129

  15. You know, “Darwinism” is a term only used by creationists to insult scientists and anybody else who doesn’t believe their crazy religious fundamentalism. Maybe you meant natural selection, speciation, or evolution.

    Though, you didn’t elaborate on your metaphor at all, so I assume you just wanted a fancy synonym for “change”.

    The problem with whipping up clever titles to try to sound smart is that you end up presenting yourself as anything but. Or maybe you want to attract people who are interested in learning about creationist database design?

    For myself, the annoyed evolutionary biologist inside of me prevented me from enjoying this post.

    I read it but don’t even remember what you said… Something about SQL Join statements being planted along with the dinosaur fossils to test our faith in God?

    • Michael says:

      @Arjuna: If your personal interpretation of the title of the article impeded your understanding or enjoyment of the article, then I’d say the blame rests on you, the interpreter. At the end of the day, you’re the one who has lost out due to pedantry. Now, stop nitpicking and go eat a burrito. 🙂

  16. Pingback: Jose da Silva » Blog Archive » Moving from SQL to NoSQL

  17. Pingback: Significant Software Development Developments of 2010 – Which Browser – whichbrowser.org -Updates on new open source browser technologies, updates and add ons. « Which Browser?

  18. tslate says:

    Being an engineer for decades the ever tempting “solution” to the companies “problems” of course lies in the next fad around the corner. Most if not all NoSQL analysis that I’ve read always deals with some factoid or two about how it is “better” than RDBMS. Unfortunately in the real world the resources required for continued maintenance and/or change either will never exist or were already spent. I’ve yet to see any single technology pay the dividends the faithful zealots constantly rant about. The reason an Amazon, Netflix…. can benefit from a NoSQL implemenatation is not “scale” it is simply that their issues are far different than a typical business so they can pick and choose multiple weapons.

    In this particular “gig” we use all SQL server, and in a very dynamic fashion with over 500 databases. I can guarantee that no DB implementation will make the slightest bit of difference to the operation considering the complete cost of implementation of said technology. So while I applaud new technology this is simply taking a small subset of a solution and trying to apply it to all problems.

    That and yes Ted Dziuba’s article makes alot more sense than a member of the NoSQL congregation will admit. After all why do you drive the car you bought ten years ago into the ground? (my Explorer is now in it’s 13th year BTW) 🙂

  19. Pingback: NeXT » Blog Archive » NoSQL会取代SQL数据库吗?

  20. spel xbox says:

    My buddy and i also had been just talking about this kind of issue, she is continually attempting to prove me completely wrong! I will present her this blog submit not to mention stroke it in a little!

  21. Pingback: Entrevista com o Alexandre Porcelli | Blog da Concrete

  22. lukaseder says:

    Darwinism… nicely put. Surely, the “old elephants” can be taught 1-2 new tricks. Companies like Oracle, Microsoft or IBM have already integrated OLAP in SQL. They will also integrate column stores (NewSQL) and some unstructured querying in the SQL language, easily.

    It is quite inevitable that the NoSQL vs SQL “battle” will be “won” by SQL, gobbling up the NoSQL “good parts”

Leave a comment