3 ms·
The biggest problem with NoSQL (whatever that may mean) is that there is no formal framework to reason about NoSQL in a uniform manner as opposed to SQL systems
by nborwankar 14y ago
The biggest problem with NoSQL (whatever that may mean) is that there is no formal framework to reason about NoSQL in a uniform manner as opposed to SQL systems and bare data structures where strong formalisms exist that can give hard results on costs.
IMHO, this is because NoSQL is a "conceptual bag" in which anything is thrown that doesn't have a SQL interpreter in it. That has many contradictions.
E.g. Google App Engine's GQL, Facebook's FQL and Yahoo YQL not to mention Hive all have a very SQL like syntax.
So what about all this is NoSQL ? SELECT, WHERE and FROM are OK in a NoSQL database?
Dig further and you'll find that these are all "No-Join" data bases and it's the badly scaling cost of the Join operation that gave SQL a bad name and the NoSQL community a bad category name.
Bottom line there needs to be a unifying formalism to talk about NoSQL as a category. Which ("Tada Boom!") gives me a seque and a pun to refer to a paper published in the IEEE about using Category Theory to describe NoSQL.
I will critique it elsewhere, but suffice it to say that if I have to do a PhD in Pure Math to design a database it's a non-starter. (Aside I have a "PhD" in Pure Math - everything but thesis)
So anyhoo bottom line -
Missing: a formal framework to reason about databases that don't use SQL or Joins.
Without that it is not even possible to decide what is the membership criterion for something to be called NoSQL, especially when NoSQL is defined as
"Not Only SQL"
= SQL UNION ~SQL
= the whole Fing universe.
So NoSQL is a label that has no ability to make logical distinctions. And NoSQL as a grab bag of technologies has no formal way to reason about it.
To make any sense this needs to be fixed, before any arguments about this are even worth having.
[My creds: 20+ years in the DB world as developer, architect, instructor; including 4+ yrs in the NoSQL business, including one year as emp #2 and VP of BizDev at CouchOne, and including lead developer of a project that used CouchDB in an National Science Foundation funded project back in 2008/2009 (slashdotted and survived) and currently using Couch, Mongo, NodeJS in various projects]