tags:

views:

66

answers:

1

In which cases am I better using DBs like Couch or Mongo as opposed to traditional RDBMS.
What is the problem they are suppose to solve (or solve more efficiently) then RDBMSs?

+1  A: 

Relational databases traditionally store data in rows within tables. This isn't a natural fit for documents, which have a hierarchical structure.

Using Couch/Mongo (or similar) means you don't have to decompose hierarchical objects into a set of tables/rows. This decomposition can be painful to implement, and extensibility can be a problem when the shape of the object changes. Object-Relational mappers (ORMs) aim to solve this problem automatically.

I can't comment on the efficiency, I'm afraid. I suspect that's strongly implementation-specific (in terms of how you decompose your objects, what you're querying on etc.)

Brian Agnew
Are they any different than, say, OpenLDAP ?
Itay Moav
I don't much about LDAP, other than to say it won't support transactions (I believe). LDAP is a directory service, and implementations won't be optimised to be queried in the fashion that you query databases (e.g. give me all the trades booked last week)
Brian Agnew