NoDatalog: NoSQL Done Right (Part 2)

In Part 1 of this post I covered the NoSQL movement, and described what I think is not ideal there.  A short recap would be the following points:

  1. Lack of standardization – each database provides its own API and query language, that is  often tightly coupled with its implementation.
  2. “No fancy queries” – users need to write their own de-normalization routines outside the database, which is prone to errors.
  3. Data migration – de-normalized data more sensitive to software updates than normalized data.  As a result, more throw-away code needs to be written just to perform data migrations.

In this post I will present what I call NoDatalog, and explain how it can, at least in theory, overcome these three issues.Read More »

Why Should we Care About A Declarative Web?

In this blog I will discuss two computer languages, Cloudlog and Cedalion – the former is a query language and the latter is a programming language, but both languages are pure declarative.  This means that none of these languages has commands.  Instead, they have declarations, definitions and rules of different kinds.  We will discuss these languages in depth in future posts, but in this post I would like to talk about what declarative languages are, and why do we need them?Read More »