Monday, September 10, 2012

NoSQL (which should be NoRM, but that's silly) is actually NoACID

ACID-compliance and the Relational Model are orthogonal and it would be unfortunate to throw out the baby of a mature and well-known data modeling ecosystem with the bathwater of unscalable constraints on data access.

Scaling your database becomes crucial as number of simultaneous clients you're attempting to serve begins to ramp up exponentially. A modern web app can make ridiculous demands on the software even with powerful servers running it.

As a reaction to the limits of ACID-compliance in scalable data storage people have begun to use new tools collectively referred to as "NoSQL".

The "NoSQL movement" is a name for the general recognition that RMDB solutions were beginning to seem overwhelmed by the task.  Lots of interesting and useful software has grown up to fill the perceived gap. But as this has happened, many folk who maybe should know better but are blissfully unaware that SQL (a Query Language) is not and has never been the same thing as RM, the Relational Model, have, in the push for scalable data storage, largely overlooked the benefits of RM.

Mapping real-world phenomenon into digital representation is still a very open field. It's not really possible to capture reality in digital form. Our best efforts to come should not be expected to involve disregard for the best efforts of the brilliant people who have come before us.

Building a data storage system in ignorance of Cobb is like building a theory of physics in ignorance of Newton.

You might be able to do it, but why?

1 comment:

Simon Forman said...

Exactly what I mean. via https://twitter.com/chrismunns/status/247740345805332481