SQL is Dead. Long Live SQL!
“The adoption of a relational model of data, as described above, permits the development of a universal data sub-language.”– E.F. Codd, 1969
“Database research has produced a number of good results, but the relational database is not one of them.” – Henry Baker, 1991
Outside of programming language flame wars, few questions raise the hackles of hackers more than: “how should I store my data?”
I will argue here, like many such debates , the answer is: it depends on what you’re doing.
While the rise of non-relational data stores serves a much-needed niche, the death of SQL and relational databases has been much exaggerated. E.F. Codd may be dead, but SQL is alive and well as a simple yet powerful data query language.
3NF Crusaders vs NoSQL Rebels
While the current critique relational databases shares features of earlier debates (such as in the 1990s, when object-oriented databases were heralded as the next big thing), it has some new twists. Thus to review the players and their positions:
On our right are the relational curmudgeons, the kind of folks who pen manifestos and crusade against NULL values. They have converted nearly all of big business to their ministry, and have billions of dollars in their coffers to show for it. They insist that data should be stored in terms of its relations, to protect its integrity and facilitate its analysis. Ideally that means third-normal form, but more liberal branches of the church exist.