Encyclopedia > Article
NoSQL
NoSQL Database Systems are an alternative to the mainstream Relational DBMS. They don't use a relational data model and typically have no SQL interface.
Although this type of systems exists for many years (some even longer than relational systems), the term NoSQL was first introduced in 2009 when many new systems were developed in order to cope with the new requirements for database management systems at that time. E.g. Big Data, scalability and fault tolerance for large web applications.
The acronym NoSQL is often understood as "Not Only SQL", implying that relational systems are a proven technology but not necessarily the optimal choice for each kind of intended use.
Classification
NoSQL systems are a heterogenous group of very different database systems. Therefore each attempt for a classification fails in classifying one or another system. However, the following categegories are well accepted:
- Key-Value Stores
- Wide Column Stores
- Document Stores
- Graph DBMS
- RDF Stores
- Native XML DBMS
- Content Stores
- Search Engines
Advantages
Not all of the above mentioned classes have the same general advantages, but they benefit from a combination of the following aspects.
- higher performance
- easy distribution of data on different nodes (e.g. sharding), thereby achieving scalability and fault tolerance
- higher flexibility by using a schema-free data model.
- simpler administration
Methods
These advantages are achieved by means of one or more of the following approaches:
- No normalized relational data model
- Abandoning one or more of the ACID criteria
- Less powerful possibilities for querying the data