In which cases am I better using DBs like Couch or Mongo as opposed to traditional RDBMS
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 solv开发者_C百科e (or solve more efficiently) then RDBMSs?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.)
LDAP database is traditionally used in organizations to group employees under different categories. Because LDAP DB stores data in Tree structure, the data retrieval is super fast compared to the RDBMS. Atleast that is my experience in comparing LDAP DB over Relational ones.
To understand Relational versus NoSQL DB, you need to understand CAP theorem.
RDBMS gives importance to Consistence + Availability over Partition Tolerance
NoSQL DB gives importance to Partition Tolerance + Availability + EVENTUAL Consistency
In what I have seen and done it is the purpose that determines the type of DB to use.
精彩评论