The nascent noSQL market is extremely fragmented, with many competing vendors and technologies. Programming, deploying, and managing noSQL solutions requires specialized and low-level knowledge that does not easily carry over from one vendor's product to another.
A necessary condition for the network effect to take off in the noSQL database market is the availability of a common abstract mathematical data model and an associated query language for noSQL that removes product differentiation at the logical level and instead shifts competition to the physical and operational level. The availability of such a common mathematical underpinning of all major noSQL databases can provide enough critical mass to convince businesses, developers, educational institutions, etc. to invest in noSQL.
In this article we developed a mathematical data model for the most common form of noSQL—namely, key-value stores as the mathematical dual of SQL's foreign-/primary-key stores. Because of this deep and beautiful connection, we propose changing the name of noSQL to coSQL. Moreover, we show 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.
In contrast to common belief, the question of big versus small data is orthogonal to the question of SQL versus coSQL. While the coSQL model naturally supports extreme sharding, the fact that it does not require strong typing and normalization makes it attractive for "small" data as well. On the other hand, it is possible to scale SQL databases by careful partitioning.
What this all means is that coSQL and SQL are not in conflict, like good and evil. Instead they are two opposites that coexist in harmony and can transmute into each other like yin and yang. Because of the common query language based on monads, both can be implemented using the same principles.
A Co-Relational Model of Data for Large Shared Data Banks Contrary to popular belief, SQL and noSQL are really just two sides of the same coin. http://queue.acm.org/detail.cfm?id=1961297 Erik Meijer, Gavin Bierman
If you made a list of all the things that matter in the 'market' for NoSQL databases (I put market in quotes because nobody is making money out of them, it's more of a popularity contentest right now), and scored them from 1 to 100 with 100 meaning most important, standardization would rank at 5 or lower.
Btw there is also an ODMG standard. Worth a look. I liked it.
@felix9: Thanks ... definitely interested and I will try to find some time to read....
i though the whole point of NoSql was to not have a database 'language' per-se but rather a api
My first exposure to the concept was a .Net UG talk I saw recently about RavenDB. I like how entities are stored along with related entities in context rather than having to search a giant table for all the child rows that have an FK to a parent, etc. I suspect that reporting might be a challenge, tho.
For anyone who wants to see Erik Meijer live, he will be giving a talk on this topic next Wednesday at the Delft University of Technology, The Netherlands. More details can be found here.
Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.