A NoSQL (egyes értelmezések szerint Not only SQL, azaz nem csak SQL, más értelmezés szerint egyszerűen csak nem SQL) adatbázis-kezelő rendszerek gyűjtőneve. A NoSQL adatbázisok elsősorban nem táblákban tárolják az adatokat, és általában nem használnak SQL nyelvet lekérdezésre.
A legtöbb NoSQL adatbázis szerver erősen optimalizált írás és olvasás műveletekre, míg ezen túl nem sok műveletet támogatnak. Ezt a viszonylag szűk funkcionalitást a jobb sebességgel és skálázhatósággal kompenzálják.
A NoSQL adatbázisok nem feltétlenül tudnak adni ACID működést.
A tárolt eljárások helyett általában MapReduce programokat lehet futtatni a legtöbb ilyen adatbázison.
A NoSQL adatbázisokat kategóriákra bonthatjuk az adattárolás módja alapján, ez a felosztás viszont inkább elvi, egyes adatbázisokat több kategóriába is besorolnak.[1]
A dokumentumtárolók központi koncepciója a dokumentum. A dokumentum valamilyen formátumban tárolt információ. A gyakran használt formátumok az XML, JSON, BSON, YAML, vagy akár az emberi felhasználásra szánt formátumok, pl. PDF, Microsoft Word dokumentumok. A dokumentumok a relációs adatbázisok tábláinak rekordjaitól abban térnek el, hogy minden rekordnak ugyanazok a mezői vannak egy táblában, míg a dokumentumok teljesen eltérő struktúrával rendelkezhetnek. Különböző szoftverek különböző módszereket használnak a dokumentumok rendszerezésére:
A gráf-adatbázisok olyan adatok tárolására specializálódtak, amelyek jól modellezhetőek gráfként, azaz az adatok határozatlan számú kapcsolattal vannak összekötve. Ilyen adatszerkezetekre lehet példa közösségi háló, közlekedési térkép, hálózati topológiák vagy akár wikioldalak.
A kulcs-érték adatbázisok séma nélküli adattárolást tesznek lehetővé, az értékeket a kulcsok segítségével lehet elérni illetve felülírni és ezen felül általában kevés műveletet támogatnak.
Ismert kulcs-érték adatbázisok a Riak, a Cassandra és a Voldemort projekt.
Az objektum-adatbázisok olyan adatbázisok, amelyek az adatokat az objektumorientált programozásban használt objektumként tárolják. Az első objektum-adatbázisok az 1980-as évekből származnak.[2]
A legelterjedtebb NoSQL adatbázisok az alábbiak: