NoSQL

NoSQL is a non-relational, open-source, distributed and horizontally scalable database, which stores and accesses data using key values. Originally referred to as "non SQL" or "non-relational", such databases have existed since the late 1960s, but have become more popular in the late twenty-first century when companies such as Facebook, Google and Amazon faced the need for Web 2.0. Today, NoSQL is known as "Not only SQL" to point out the fact that it can support SQL-like queries. With the purpose of solving the scalability and big data performance issues, NoSQL supports a wide range of technologies and architectures.

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
Scroll to Top