Advantages
- NoSQL is optimized for big amount of data
- It can manage large volumes of rapidly changing structured, semi-structured and unstructured data
- It’s able to handle object-oriented programming
- It’s designed to be scalable without reducing performance
- NoSQL provides database administration with data distribution, auto-repair capabilities and simplified data models
- It’s cost-effective (the databases can be installed in commodity hardware clusters, unlike RDBMSs that required expensive storage systems and proprietary servers)
- It has few or even non-existent data model restrictions
Disadvantages
- NoSQL requires a lot of technical skills – both for installation and maintenance
- There aren’t so many management tools available for NoSQL databases
- Lack of familiarity and support (databases tend to be open-source, so without support on a global scale, it lacks credibility)
- Limited expertise – most developers are more familiar with RDBMS systems
- It provides few facilities for queries and analysis, and it requires a high level of programming expertise (for actions that in RDBMS require simple queries)
- Business Intelligence tools do not provide connectivity to NoSQL
Components
- Query Optimization and Execution
- Relational Operators
- Access Methods
- Buffer Management
- Disk Space Management
Development tools
- Couchbase
- MongoDB
- Amazon DynamoDB
- SlashDB