[erlang-questions] Re: Conceptual questions on key-value databases for RDBMs users

Edmond Begumisa ebegumisa@REDACTED
Wed Nov 10 02:20:38 CET 2010

On Wed, 10 Nov 2010 10:23:50 +1100, Richard O'Keefe <ok@REDACTED>  

> If what you need is persistent storage for a single application,
> and you don't expect the data to outlive the application, a relational
> database probably is not for you.


It has taken me 12 years as an SQL-RDBMS user to realise that the problem  
was I was using the wrong class of database the whole time! Silly, silly  
me. Square peg, round hole. (actually I started suspecting this about 5  
years ago.) I wonder how many more silly me's there are out there?

I think a major reason many assume the relational + sql solution as the  
default answer is not because they need relational constraints per se, but  
because they need complex querying for which it is assumed only SQL can  
provide (and the best SQL dbs seem to be relational). My requirement list  
was normally like this...

1. Persistent storage for my application that be _might_ later be shared  
with other applications, but I'm free to dictate how.
2. Complex querying preferably with indexing.
3. Data unlikely to outlive my application (if it needs to, it can be  
4. Data won't fit in RAM (without hogging too much of it).
5. (NEW) Data can be replicated.

For a long time I assumed only SQL-RDBMSs could give me these. I've found,  
like many, that I was wrong. In retrospect, a lot of it was  
do-as-others-do I guess. As you point out OO dbs could have given me many  
of these. Some other alternatives were there too. I discovered Btrieve  
about five years back and really liked it.

I think what the NoSQL/kv-dbs like Couch are adding to their older OO  
counterparts is 1 (HTTP APIs for other apps), 2, & 5.

It's interesting too to observe the increasing popularity of  
object-relational mapping layers for popular SQL-RDBMSs. Essentially  
trying to turn RDBMSs into something closer to OO dbs. Funny that! Round  
and round we go!

- Edmond -

Using Opera's revolutionary e-mail client: http://www.opera.com/mail/

More information about the erlang-questions mailing list