In the last couple of years, there has been a surge in popularity for what is known as NoSQL databases. NoSQL, also referred to as Schema-less or Document-based, is a scalable, flexible, and high performance database. Programmers have found that traditional, relational style databases such as MySQL may not be the optimal solution for many of today’s data storage challenges.
In a NoSQL environment, data is stored as a “Document”. Documents are independent of each other, and contain any kind of information so long as it contains a primary key. There are no restrictions from document to document. Documents map one-to-one with associative data structures such as PHP arrays, Python dictionaries, and Ruby hashes.
NoSQL scales “horizontally”, making it efficient and convenient to use in cloud and cluster environments. They are highly scalable and are apt for big data solutions. In MySQL, “Joins” are considered extremely slow, requiring the programmer to result in caching data. However, with NoSQL, there are no Joins since all the data you need is in your document. The disadvantage to NoSQL, however, , since NoSQL is quite new, there does not exist significant documentation, or as vast as a support community compared to SQL which has been around for decades.
NoSQL is most applicable when one needs to store continuous documents that are not dependent on data relationships. For example, CraigsList uses MongoDB, a popular NoSQL database. CraigsList is simply a list of postings where each post corresponds to one document in a MongoDB database. Twitter uses a complicated set of NoSQL databases for analytics and its people search functionality. Facebook developed an open-source NoSQL database known as Cassandra that powers their inbox search feature.
NoSQL is definitely not the be-all end-all solution for database needs, but it is a quite useful and powerful new method for storing data for a particular set of use cases. Real world systems often require a combination of both MySQL and NoSQL databases. As the NoSQL community grows, we will surely see more companies adopt schema-less solutions.
http://blog.mongodb.org/post/5545198613/mongodb-live-at-craigslist
http://www.readwriteweb.com/cloud/2011/01/how-twitter-uses-nosql.php