NoSQL steht für „not only SQL“ und als das will sich das Datenbankmodell auch verstehen: keineswegs als Gegenstück, sondern vielmehr als Bereicherung und nützliche Ergänzung zu den traditionellen, relationalen SQL-Datenbanken. Dabei überwinden NoSQL-Datenbanken die Grenzen der relationalen Systeme und nutzen stattdessen alternative Datenbankmodelle. Dies muss aber nicht bedeuten, dass keine SQL-Systeme eingesetzt werden. Es gibt auch zahlreiche gemischte Varianten, in denen mit beiden Lösungen gearbeitet wird, und die ebenfalls unter den Überbegriff NoSQL fallen.
Bis in die späten 2000er-Jahre waren SQL-Datenbanken das Nonplusultra in der Anwendungsentwicklung. Andere Ansätze, wie objektorientierte Datenbanken, erreichten aufgrund ihrer komplexen Handhabung und Implementierung nie diesen hohen Stellenwert. Eine echte Alternative ergab sich durch die Entwicklung der NoSQL-Datenbanken, die Antwort auf die Einschränkungen und Probleme relationaler Datenbanken waren – denn relationale Datenbanken sind den Anforderungen der modernen Anwendungsentwicklung oft nicht mehr gewachsen. Stattdessen nutzen NoSQL-Systeme Neuerungen wie Cloud-Server, um ein alternatives Datenmodell zu bieten, in dem viele unterschiedliche Daten gespeichert und verarbeitet werden können. Die daraus resultierenden Datenstrukturen sind leistungsstark und flexibel und können schnell auf veränderte Anforderungen reagieren.
NoSQL-Systeme werden oft als strukturierte Datenspeicher bezeichnet, was den signifikanten Unterschied zu den relationalen SQL-Datenbanken verdeutlicht: Anders als diese nutzen NoSQL-Datenbanken keine starren Tabellenschemata, in denen Daten vor der Speicherung definiert werden müssen. Sie setzen auf flexiblere Methoden, mit denen problemlos neue Datensätze eingepflegt werden können, die sich laufend in der Anwendung aktualisieren. NoSQL-Lösungen eignen sich zudem zur Verarbeitung unstrukturierter oder auch unbekannter Daten – mit einer relationalen Datenbank ein Ding der Unmöglichkeit.