Developers might argue that people can use NoSQL just agreeing on some common rules and information. My answer to this has always been: There is no point in having rules if they are not enforced by something or somebody. SQL has always followed a "think first" philosophy while NoSQL seems to rather fancy a "store first" approach.
Of course, the NoSql zealots, just as their COBOL brethren (whom they routinely disparage for being "old legacy") before them, argue that transactions should be handled in the application. That means some form of rudimentary TPM. And lots of silos of data that can't communicate. And so on. Who needs 40 years of experience building something so simple?
This reflects Pascal's view on xml as just data transport (and is an occasional member of the quote squad):
The fact is that in order for any data interchange to work, the parties must first agree on what data will be exchanged -- semantics -- and once they do that, there is no need to repeat the tags in each and every record/document being transmitted. Any agreed-upon delimited format will do, and the criterion here is efficiency, on which XML fares rather poorly...
-- Fabian Pascal/2005
That's getting on to a decade ago! Some people are just slow learners.
First, it's Roberto Duran.
Second, every now and again, the nice folks at Database Weekly will include a link to one of these posts in their weekly email notification. This is one of those weeks. There are two links in the NoSql heading, the other being to this piece on an interview with Date and Darwen, said interview conducted by Iggy himself. In the course of the post, is this:
The inventor of relational theory, Dr. Edgar "Ted" Codd, himself blessed eventual consistency in the very first paper on relational theory "A Relational Model of Data for Large Shared Data Banks"...
He then gives a lengthy quote. Now, one might argue and I certainly do, that in 1969 Codd was faced with a hardware situation utterly different from today. IMS, which was his target with the RM, was intimately designed to the hardware of the day and Codd sought to break that bond. While I can't cite him, I believe he would make such a statement based on the prevailing practice of batch processing. Even in 1990, accounting modules on RDBMS verticals running on *nix mini machines, still did batch updates. While Codd and acolytes make the point of the RM being divorced from implementation, that quote is clearly inconsistent with that bill of divorcement: it reflects the limited random access support of mainframe disk subsystems of the day. Today we have multi-processor/core/SSD machines that make batch updating as obsolete as high button shoes. I can't quite figure Iggy's point here either. Is he supporting Amazon's preference for "eventual consistency" (an oxymoron) by quoting Codd, or is he supporting eventual consistency in today's RDBMS engines? Don't know, but either isn't needed with today's hardware.