Erik Meijer and Gavin Bierman from Microsoft recently wrote a paper on “A co-Relational Model of Data for Large Shared Data Banks“. They argue that noSQL is really coSQL, and that there is a duality between coSQL and SQL which are simply 2 opposites that coexist in harmony. This is huge, if there is a simple mathematical duality between the 2, then monads and monad comprehensions can provide a common query system which abstracts and simplifies coding for either SQL or noSQL.
It’s a good read, but your brain might melt with some of the mathematics involved.
In this article we present a mathematical data model for the most common noSQL databases—namely, key/value relationships—and demonstrate that this data model is the mathematical dual of SQL’s relational data model of foreign-/primary-key relationships. Following established mathematical nomenclature, we refer to the dual of SQL as coSQL. We also show how a single generalization of the relational algebra over sets—namely, monads and monad comprehensions—forms the basis of a common query language for both SQL and noSQL. Despite common wisdom, SQL and coSQL are not diabolically opposed, but instead deeply connected via beautiful mathematical theory.
Source: A co-Relational Model of Data for Large Shared Data Banks






Recent Comments