Microsoft researchers, Erik Meijer and Gavin Bierman, argue in a paper in the April issue of Communications that the growing number of non-relational databases (or more specifically, key/value databases) need a standardized data manipulation language like SQL in order to grow the market for NoSQL databases. It may seem run counter to the spirit of NoSQL - the creation of new databases for specific uses - but the idea is welcomed by some in the NoSQL community. Couchbase co-founder and VP of products James Phillips told PC World "There is little to disagree with in this paper."Two
Meijer and Bierman argue that non-relational databases need their own answer structured query language, which enabled developers to jump from one relational database without learning an entirely new programming language. The pair write:
In the early 1970s, the database world was in a similar sorry state. An overabundance of database products exposed many low-level implementation details and, as database people like to say, forced programmers to work at the physical level instead of the logical level. The landscape changed radically when Ted Codd proposed a new data model and a structured query language (SQL) based on the mathematical concept of relations and foreign-/primary-key relationships.
They present a data model based on category theory for key/value relationships that is the mathematical dual of SQL's foreign/primary-key relationships. They dub this duality "coSQL," and suggest it as an alternative name for NoSQL.
The paper also sets out to demonstrate that "monads and monad comprehensions (i.e., LINQ) provide a common query mechanism for both SQL and coSQL and that many of the strengths and weaknesses of SQL and coSQL naturally follow from the mathematics." The math is beyond my grasp, so you'll have to take a look at the paper if you want to know more.