Xaprb

Stay curious!

Postmodern databases

with 11 comments

Dr. Richard Hipp gave a talk at Southeast Linux Fest today on choosing an open-source database. He thinks that NoSQL is not a very good name for the new databases we’re seeing these days, so he proposed a new name: postmodern databases. Why postmodern?

  • The absence of objective truth
  • Queries return opinions, not facts

I thought this was the best proposal I’ve heard for an alternative to the NoSQL moniker. And this is not bashing — the absence of objective truth can actually be an enabling quality, not necessarily a drawback. There’s a lot to compliment about the new databases, and calling them NoSQL is really a disservice — like calling a car a horseless carriage.

Written by Baron Schwartz

June 12th, 2010 at 1:29 pm

11 Responses to 'Postmodern databases'

Subscribe to comments with RSS

  1. +1

    Lukas

    12 Jun 10 at 3:33 pm

  2. You say you’re not bashing, but the reference to opinions and lack of objective truth seems like no more than a derogatory rephrasing of the observation that in a distributed (i.e. partitionable) system one cannot count on there being a single global view. The possibility of such divergent local views is most often and most accurately compared to relativity, but I suppose someone more opinionated than objective might prefer something that doesn’t lead to “relativistic database” as an alternative. Trying to associate NoSQL with a dubious literary/pseudo-philosophical trend doesn’t seem like much more than FUD.

    Jeff Darcy

    12 Jun 10 at 11:56 pm

  3. What is objective truth?

    And what does it ‘Queries return opinions, not facts’ means? Does it mean the results are not necessarily correct?

    Kowabanga

    13 Jun 10 at 12:02 am

  4. @Kowabanga: this is about eventual consistency .. meaning many NoSQL RDBMS let you intentionally relax consistency rules in order to improve write scaling.

    http://en.wikipedia.org/wiki/Postmodern
    http://en.wikipedia.org/wiki/Objective_truth

    Lukas

    13 Jun 10 at 3:38 am

  5. “What is objective truth?”

    The fact that you are asking this question shows that it is a good name

    a

    13 Jun 10 at 9:27 pm

  6. “Postmodern” is already the name of a popular Common Lisp binding for PostgreSQL.

    Harleqin

    13 Jun 10 at 9:57 pm

  7. Jeff:

    > The possibility of such divergent local views is most often and most accurately compared to relativity

    It’s not to say that there is no objective reality, merely that since our observations of reality must be subject to relativity then how could our modeling of reality be any different?

    See http://constc.blogspot.com/2009/03/relativity-of-simultaneity.html

    Phil

    13 Jun 10 at 11:12 pm

  8. I don’t much care for NoSQL or Postmodern Databases. Let’s keep trying guys. We can come up with something that better reflects what is happening.

    Kin Lane

    14 Jun 10 at 1:04 am

  9. In Baron’s defense (not that he needs much for introducing an entertaining issue) saying there’s no such thing as objective truth is the same as saying there is no unified frame of reference. That’s the essence of distributed systems that contain state as shown in Lamport’s 1978 paper “Time, Clocks, and the Ordering of Events in a Distributed System.”

    Perhaps a more pertinent problem with Dr. Hipp’s characterization is that it only applies to systems based on eventually consistent replication. SimpleDB, Dynamo, and Cassandra allow updates in different locations and replicate them across copies. Given enough time the copies become consistent but in the meantime different observers can get incommensurable answers to queries depending on where they are located. By contrast, databases like MongoDB use master/slave replication, which means updates occur in a single frame of reference. Observers at different locations may still get different answers to queries, but these are effectively from a single serialization history at different points in time.

    If you are looking for a less inflammatory way to summarize the differences, the important distinction therefore seems to be whether or not your data are globally serialized.

    Robert Hodges

    14 Jun 10 at 1:53 am

  10. The thing that bugs me about the ‘NoSQL’ name is that it seems to lump together “relational vs key-value/object store” and “centralised vs distributed” as one and the same distinction. They’re not.

    Databases based on the relational model can be distributed, ‘post-modern’ as this guy puts it, too.

    There’s some interesting work by logician/comp-sci/AI folks in this area, applying epistemic (and other modal) logics to multi-agent knowledge base scenarios, but I think it got a bit forgotten about because of its association with AI (think: lots of robots going around gathering knowledge which may or may not be consistent with eachother) rather than more mundane things like distributed relational databases.

    Here’s a course I remember taking on the subject, which might interest anyone who thinks ‘post-modern’ databases or models of knowledge are interesting: http://web.comlab.ox.ac.uk/teaching/courses/multiagent/index.html

    Matthew

    14 Jun 10 at 3:05 pm

  11. Seems like it ought to be called a “relativistic database”, since the “truth” returned might be different yet equally valid for two observers. :)

    Stephen Touset

    15 Jun 10 at 4:20 pm

Leave a Reply