Lately I have been working in a little with MongoDB and I must say I like it. Yet it's a totally different kind of database i quickly am used. I have observed that it's most certainly better for several kinds of data, but also for heavily stabilized databases may possibly not be the greatest choice.

It seems in my experience however that it may completely replace nearly any relational database you might have and often perform better, that is mind dazzling. This leads me to request a couple of questions:

  1. Are document-oriented databases being designed to be generation x of databases and essentially replace relational databases completely?
  2. Is it feasible that projects could be best using both a document-oriented database along with a relational database alongside for a number of data what's best suited to either?
  3. If document-oriented databases are considered unsuitable to exchange relational databases, then does anybody have one particular database structure which may absolutely be best inside a relational database (or vice-versa)?

Are document-oriented databases happen to be designed to be generation x of databases and essentially replace relational databases completely?

No. Document-oriented databases (like MongoDB) are extremely proficient at the kind of tasks that people typically see in modern internet sites (fast look-ups of person products or small teams of products).

However they have large trade-offs with relational systems. Without such things as Acidity compliance they are not likely to have the ability to replace certain RDBMS. And when you appear at systems like MongoDB, the possible lack of Acidity compliance is really a large reason it is so fast.

Is it feasible that projects could be best using both a document-oriented database along with a relational database alongside for a number of data what's best suited to either?

Yes. Actually, I am managing a large production web-site that utilizes both. The machine was began in MySQL, but we have migrated some of it to MongoDB, b/c we want a vital-Value store and MySQL just is not excellent at finding one item inside a 150M records.

If document-oriented databases are considered unsuitable to exchange relational databases, then does anybody have one particular database structure which may absolutely be best inside a relational database (or vice-versa)?

Document-oriented databases are wonderful storing data that's easily found in "key-value" and straightforward, linear "parent-child" associations. Simple good examples listed here are such things as Blogs and Wikis.

However, relational databases have a powerful leg on such things as confirming, which is commonly "set-based".

Honestly, I can tell a global where most information is "handled" by Document-oriented database, but in which the confirming is completed in a relational database that's up-to-date by Map-reduce jobs.

This is actually an issue of fitness for purpose.

If you wish to have the ability to join some tables together and return a strained group of results, you are able to only do this having a relational database. If you would like mind-bending performance and also have incredible volumes of information, this is when column-family or document-oriented databases enter into their very own.

This can be a classic trade-off. Relational databases provide you with a whole suite of features, which has a performance cost. Should you could not join, index, scan or execute a whole other listing of features, you remove the necessity to have view total data, which provides the performance and distribution you have to crunch serious data.

Also, I suggest you stick to the blogs of Ayende Rahien about this subject.

http://ayende.com/blog/