Friday, January 9, 2009

Is Global Database Warming happening?

Martin Fowler has a great blikiTM post on DatabaseThaw. The soundbite is something like "What happens after relational DBs?". He has some interesting links to things like Drizzle.

His opinon of relational DBs is that

their dominance is due less to their role in data management than their role in integration

This makes sense, but I think they also have offered the benefit of providing a fairly powerful, standard way of modelling and querying data. Over the lifetime of this technology this has fought off some powerful challengers, notably object-oriented data modelling. (Although perhaps this battle was only won by becoming more like the "loser"). The latest challenger is semantic data modelling (RDF, SPARQL, etc). Perhaps the world is ready to make this transition - although I'm not rushing to sell my Oracle stock.

He also makes a good point that the focus of integration is shifting from the DB to the Web. Hard to argue with this... the clouds are moving in!

5 comments:

Regina Obe said...

I would agree with you not time to throw your Oracle stocks out yet.

I always thought the problem with OO modeling is that it somehow encouraged over-architecting your solution in the sense that a relational model had in mind how you would report on said data in addition to representing important facts whereas an object-model was too focused on trying to create reality in electronic form and often lost touch of the fact that an extensive reality in electronic form is often less useful than a partial one. Kind of reminds me of the whole discussion of something I read about 3-D animation gone too far and the irony that as image approaches reality people spend more time focusing on whats wrong with the picture and are even scared of it rather than focusing on the story line where as something like South Park and Simpsons people have an easier time relating to.

I agree that the clouds are coming, but I don't see this as something that will destroy the relational model. There are probably 2 or 3 popular cloud architectures out there and more coming. All the cloud has to do is keep the relational model but make the storage less localized and relevant. This was the dream of Codd all along - making the storage irrelevant.

Regina Obe said...

I was thinking the future of relational looks like
http://www.enterprisedb.com/products/postgres_plus/gridsql.do

and also Oracle's RAC/Grid thingy.

rkgeorge said...

I was recently reading Werner Vogel's article "Eventually Consistent" which talks about the CAP conjecture as it applies to Cloud Data. http://www.allthingsdistributed.com/2008/12/eventually_consistent.html

Are these cloud database configurations - GridSQL, RAC, SDS, etc - "Eventually Consistent" or "Eventually Broken?"
http://www.cadmaps.com/gisblog/?p=51

Dr JTS said...

@ Regina:

I read Fowler's article as saying that people are looking for new models to supersede relational. I think there's two strains to this:

- some models are simpler than RDB, but are promoted as being more "cloud-friendly" e.g. CouchDB

- some models are more general than RDB, eg. the RDF/SPARQL/graph DB world. This may also be more cloud-friendly - I'm not sure.

It seems that the RDB world is similar to the imperative language world (e.g. Java) - a lot of newer models are being pitched as being faster/easier/simpler/more powerful. Meanwhile there's lots of useful work left in the old dog...

Dr JTS said...

@rkgeorge:

Great links!

The "Eventually Consistent" model makes sense - or at least is a pragmatic way of dealing with latency issues.

Is it possible to build a relational model on top of an Eventually Consistent infrastructure? Are they incompatible or orthogonal? I guess for analytic queries it doesn't matter - but for OLTP surely it would? Maybe there's a whole body of practice for dealing with Eventually Consistent which is logically above the issue of the underlying DB model.