SQL vs. NoSQL: Perspective From Programming Languages
Michael Marr at WebProNews in his an editorial of Slashdot’s article, SQL vs. NoSQL: Which is Better? writes,
the article itself attempts to focus on how programming language implementations for both SQL and NoSQL databases stack up against each other. Unfortunately, Mr. Cogswell’s attempt to view the debate from the lens of programming language libraries and programming paradigms is a ridiculous straw man fallacy.
Programming languages are tools. Programs take data and manipulate it a way to create new, more valuable data. Thus, databases are vital to the success of a given program, as it is the core of the programming storing both the data to be manipulate and the resulting new information. (The only exception to this rule would be if you were using a database for logging purposes, which provides little benefit over a straight file logging system.)
Jeff actually does an ample job of demonstrating that the programming language really doesn’t matter. All mature programming languages have had ample time to make a variety of excellent SQL libraries. In fact, infant programming languages would be doomed to fail without adequate SQL libraries. So the inherit advantage goes to SQL, but even that advantage is minute. As a given NoSQL database grows in popularity, so will its available libraries.
Mr. Cogswell chose the absolute worst NoSQL example for his argument. MongoDB is one of the hottest NoSQL databases, and thus libraries for the popular database have been sprouting up with more frequency as it continues to gain popularity. The programming language argument would have been better suited to look at less popular NoSQL databases, like Neo4j, which only has official libraries for Ruby and Java. The programming examples Cogswell used were in node.js and C# – so he would have had to use unofficial libraries and/or the REST API of Neo4j.
The SQL vs. NoSQL debate will always be alive at the independent project level. Because of the CAP Theorem, a given NoSQL or SQL database will never be a one-size-fits all solution. The growing popularity of NoSQL databases are a result of new problems and new data models that traditional relational databases fall short of properly representing. Relational databases will always have a place in a majority of applications, but as developers become more aware of what NoSQL options are available and where each of these databases shine, the appropriate mix of both SQL and NoSQL will surface.