5.1. NoSQL About

  • List of NoSQL databases [2]

  • Key–value Store (Redis)

  • Key-Value Cache (Redis, Memcached)

  • Column-Oriented Store (Cassandra)

  • Document Store (MongoDB)

  • Graph Database (Neo4j)

  • Time Series Database (InfluxDB, Prometheus)

  • Object Database

  • Tuple Store

  • Triplestore (RDF store)

  • Relational Database

  • Multi Model

  • Multi Value

../../_images/nosql-vs-sql.png

A NoSQL (originally referring to "non-SQL" or "non-relational") database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases. Such databases have existed since the late 1960s, but the name "NoSQL" was only coined in the early 21st century, triggered by the needs of Web 2.0 companies. NoSQL databases are increasingly used in big data and real-time web applications. NoSQL systems are also sometimes called Not only SQL to emphasize that they may support SQL-like query languages or sit alongside SQL databases in polyglot-persistent architectures [1].

Motivations for this approach include simplicity of design, simpler "horizontal" scaling to clusters of machines (which is a problem for relational databases), finer control over availability and limiting the object-relational impedance mismatch. The data structures used by NoSQL databases (e.g. key–value pair, wide column, graph, or document) are different from those used by default in relational databases, making some operations faster in NoSQL. The particular suitability of a given NoSQL database depends on the problem it must solve. Sometimes the data structures used by NoSQL databases are also viewed as "more flexible" than relational database tables [1].

5.1.1. Performance

Table 5.11. Performance. Source [1]

Data model

Performance

Scalability

Flexibility

Complexity

Functionality

Key–value

high

high

high

none

none

Column-oriented

high

high

moderate

low

minimal

Document-oriented

high

high

high

low

low

Graph

variable

variable

high

high

graph theory

Relational

variable

variable

low

moderate

relational algebra

5.1.2. Document Store

  • ArangoDB

  • Azure Cosmos DB

  • BaseX

  • Clusterpoint

  • CouchDB

  • Couchbase

  • DocumentDB

  • Elasticsearch

  • IBM Domino

  • MarkLogic

  • MongoDB

  • OrientDB

  • Qizx

  • RethinkDB

  • eXist-db

5.1.3. Key–Value Store

  • Aerospike

  • Amazon DynamoDB

  • ArangoDB

  • Azure Cosmos DB

  • BigTable

  • Couchbase

  • FoundationDB

  • InfinityDB

  • LMDB

  • LocalStorage (web browser + JS)

  • MemcacheDB

  • Oracle NoSQL Database

  • Project Voldemort

  • Redis

  • Riak

  • SessionStorage (web browser + JS)

  • Voldemort

5.1.4. Key-Value Cache

  • Apache Ignite

  • Coherence

  • Couchbase

  • Hazelcast

  • Infinispan

  • Memcached

  • Oracle Coherence

  • Redis

  • Velocity

  • eXtreme Scale

5.1.5. Tuple Store

  • Apache River

  • GigaSpaces

  • OpenLink Virtuoso

  • TIBCO ActiveSpaces

  • Tarantool

5.1.6. Triplestore (RDF)

  • AllegroGraph

  • MarkLogic

  • Ontotext-OWLIM

  • Oracle NoSQL database

  • Profium Sense

  • Virtuoso Universal Server

5.1.7. Graph Database

  • AllegroGraph

  • Apache Giraph

  • ArangoDB

  • Azure Cosmos DB

  • InfiniteGraph

  • MarkLogic

  • Neo4j

  • OrientDB

  • RedisGraph

  • Virtuoso

5.1.8. Time Series Database

  • InfluxDB

  • Prometheus

  • TSDB

5.1.9. Column-Oriented Store

  • Amazon DynamoDB

  • Apache Accumulo

  • Azure Cosmos DB

  • Bigtable

  • Cassandra

  • Druid

  • Google Cloud Datastore

  • HBase

  • Hypertable

  • ScyllaDB

5.1.10. Object Database

  • GemStone/S

  • InterSystems Caché

  • JADE

  • NeoDB

  • Ninja Database Pro

  • ODABA

  • ObjectDB

  • ObjectDatabase++

  • ObjectStore

  • Objectivity/DB

  • OpenLink Virtuoso

  • Perst

  • Realm

  • Versant Object Database

  • ZODB

  • ZopeDB

  • db4o

5.1.11. Multi Model

  • Apache Ignite

  • ArangoDB

  • Azure Cosmos DB

  • Couchbase

  • FoundationDB

  • MarkLogic

  • MarkLogic

  • Oracle Database

  • OrientDB

5.1.12. Multi Value

  • D3 Pick database

  • Extensible Storage Engine (ESE/NT)

  • InfinityDB

  • InterSystems Caché

  • Northgate Information Solutions Reality (the original Pick/MV Database)

  • OpenQM

  • Revelation Software's OpenInsight (Windows) and Advanced Revelation (DOS)

  • UniData Rocket U2

  • UniVerse Rocket U2

  • jBASE Pick database

  • mvBase Rocket Software

  • mvEnterprise Rocket Software

5.1.13. Further Reading

5.1.14. References