views:

212

answers:

3

I'm looking at using CouchDB for one project and the GAE app engine datastore in the other. For relational stuff I tend to use postgres, although I much prefer an ORM.

Anyway, what use cases suit non relational datastores best?

+2  A: 

Consider the situation where you have many entity types but few instances of each entity. In this case you will have many tables each with a few records so a relational approach is not suitable.

Vincent Ramdhanie
+6  A: 

Here is a nice little article (spread over three pages) that covers the use-case for non-relational databases.

http://www.readwriteweb.com/enterprise/2009/02/is-the-relational-database-doomed.php

In a nutshell, when you need massive scalability then you probably need a non-realtional db. Of course, you may well end up writing a lot more code to do what a relational db does for you, but if you really need that scalability, then the relational db option is usually more expensive, and very tricky to architect properly.

Michael Dillon
A: 

In some cases that are simply nice. ZODB is a Python-only object database, that is so well-integrated with Python that you can simply forget that it's there. You don't have to bother about it, most of the time.

Lennart Regebro