NoSQL is a new way of designing internet scale database solutions. It is not product or technology but a term that defines a set of database technologies which are not based on the traditional RDBMS principles. NoSQL doesn't have a formal definition. It represents a form of persistence /data storage mechanism that is fundamentally different from RDBMS. Hence if we must define NoSQL, it will be as follows NoSQL is an umbrella term for data stores that don't follow the RDBMS principles.
Advantage and Disadvantage MongoDb
we will look at the advantages and disadvantages NoSQL databases.
Advantages of NoSQL
This scaling up approach fails when the transaction rates and the fast response requirement increase. In contrast to this the new generation of NoSQL databases were designed to scale out i.e. expand horizontally using low end commodity servers.
Manageability and Administration
NoSQL databases are designed to mostly work with automated repairs, distributed data and simpler data models hence leading to low manageability and administration.
The NoSQL databases are typically designed to work with cluster of cheap commodity servers enabling the users to store and process more data at a low cost.
Flexible data models
NoSQL databases have a very flexible data model enabling them to work with any type of data; they don't comply with the rigid RDBMS data models. Hence any application hangs which involve updating the database schema can be easily implemented.
Disadvantage of NoSQL
In addition to the above-mentioned advantages there are many impediments that users need to be aware of before they start developing applications using these
Most of the NoSQL databases are still in pre-production versions with key features that are still to be implemented, hence while deciding on a NoSQL database organizations should analyze the product properly to ensure their requirement is fully implemented and is not in the To-do list.
Support is one limitation users' needs to be aware of. As most of the NoSQL' s are open source projects hence there are one or more firms offering support for the databases, generally these are small startups and as compared to the enterprise software companies and may not have global reach or support resources.
Limited Query Capabilities
As NoSQL databases were generally developed to meet the scaling requirement of the web-scale applications hence they provide limited querying capabilities. A simple querying requirement may involve significant programming expertise.
Though NoSQL is designed to provide no-admin solution however it still requires skill and effort for installing and maintaining the solution.
Since NoSQL is an evolving area hence expertise of the technology is limited in the developer and administrator community.
Though NoSQL is becoming an important part of the database landscape but the users need to be aware of the limitations and advantages of the products to make a correct choice of the NoSQL database platform.