Lately NoSQL get popular. I wish to know what is the fringe of the NoSQL over traditional RDBMS.
Not every information is relational. For individuals situations, NoSQL could be useful.
With nevertheless, NoSQL means "Not Just SQL". It isn't meant to knock SQL or supplant it.
SQL has several very large advantages:
- Strong mathematical basis.
- Declarative syntax.
- A properly-known language in Structured Query Language (SQL).
Individuals haven't gone away.
It is a mistake to consider this being an either/or argument. NoSQL is definitely an alternative that individuals have to consider if this fits, that's all.
Documents could be saved in non-relational databases, like CouchDB.
Maybe reading through this can help.
A brief history appear to appear such as this:
Google requires a storage layer for his or her inverted search index. They figure a conventional RDBMS won't work. So that they implement a NoSQL data store, BigTable on the top of the GFS file system. The main part is the fact that 1000's of cheap commodity hardware machines offers the speed and also the redundancy.
Everybody else realizes what Google just did.
Machines CAP theorem is proven. All RDBMS systems useful are CA systems. People begin having fun with Clubpenguin and AP systems too. K/V stores are greatly simpler, so those are the primary vehicle for that research.
Software-as-a-service systems generally don't offer an SQL-like store. Hence, people get interested in the NoSQL type stores.
I believe a lot of the take-off could be associated with this history. Scaling Google required newer and more effective ideas at Google and everybody else follows suit since this is the only real solution they are fully aware towards the scaling problem at this time. Hence, you are prepared to rework everything round the distributed database concept of Google since it is the only method to scale beyond a particular size.
NOSQL doesn't have special advantages within the relational database model. NOSQL does address certain restrictions of current SQL DBMSs however it does not imply any essentially new abilities over previous data models.
NOSQL means only no SQL (or "not just SQL") but that does not mean just like no relational. A relational database in principle will make an excellent NOSQL solution - it is simply that no current group of NOSQL items uses the relational model.