NoSQL (englannin sanoista Not only SQL) on käsite, jolla kuvataan perinteisestä relaatiomallista poikkeavia tietokantoja. Nämä tietokannat eivät seuraa mitään kiinteästi määrättyä taulukkoskeemaa, minkä ansiosta ne skaalautuvat hyvin horisontaalisesti. [1]
NoSQL-tietokannaksi kutsuttiin aluksi Carlo Strozzin vuonna 1998 esittämää järjestelmää, jossa ei käytetty SQL-kyselykieltä.[2] Termi yleistyi vuonna 2009 Johan Oskarssonin järjestämässä tapaamisessa, jossa keskusteltiin ei-relaatiomallin mukaisista ohjelmistoista kuten Cassandra ja Voldemort.[2]
Tarkoituksena oli löytää yhteinen nimitys kasvavalle määrälle tietokantajärjestelmiä, jotka poikkeavat ACID-periaatteista. Tunnettuja NoSQL-toteutuksia ovat muun muassa Google BigTable ja Amazon Dynamo. [3]
Avain-arvo -tietokantajärjestelmiä ovat muun muassa Redis, Memcached ja Riak.[2] Sarakkeisia tietokantajärjestelmiä ovat muun muassa Apache Cassandra, Apache HBase ja ClickHouse.[2] Dokumentti-orientoituneita tietokantajärjestelmiä ovat muun muassa MongoDB, Couchbase ja Apache CouchDB.[2] Graafitietokantajärjestelmiä ovat muun muassa Neo4j, ArangoDB ja OrientDB.[2]