views:

43

answers:

2

Why RDBMS?

  1. data integrity

  2. get quality results with SQL and prevent duplicates

  3. use SQL to access the data --> Easy.

  4. Many more

Why Key-value pair?

  1. horizontally scalable

  2. Simple datasets - hashmap, associative arrays etc

  3. Easy to put() and get()

  4. Many more.

So, is there some kind of wrapper available which binds with the "nosql" kind of databases and give RDBMS-like functionality? For example: Do a JOIN or WHERE on no-sql databases? How is this idea as a masters project - "A wrapper around nosql which gives rdbms-like freedom" ?

A: 

I think MySQL fits the bill as a wrapper. One of the interesting features of MySQL is the separation from the storage engine. Thanks for asking this question it made me look it up! The current storage engines are listed here http://dev.mysql.com/doc/refman/5.0/en/storage-engines.html . If none of these storage mechanism's satisfy your need you can create another one. I've always seen this as both a strength and a weakness of MySQL as people often confuse the interface with the engine.

MikeAinOz
A: 

I know Google AppEngine's datastore provides something like this. Even the documentation on what restrictions they put on join conditions is enlightening for what it tells you about what's easy and hard in query execution.

If you can provide a similar frontend for another popular KV product, you might be onto a cool project that we would all appreciate having. But as a Masters thesis, I'd be very cautious. The abstraction of relational data is not what makes an RDBMS amazing, it's the fact that such an abstraction can actually be computationally feasible. Jim Gray got a Turing award for figuring this stuff out. First satisfy for yourself why relational interfaces to existing KV databases are not already more prevalent, and maybe you'll encounter a more tractable problem along the way.

philo