NoSQL (noto anche come "Non solo SQL") è un termine generico per un insieme di tecnologie di database utilizzate per archiviare e gestire i dati generalmente contenuti in un database relazionale. A differenza dei database SQL, che utilizzano il linguaggio di query strutturato (SQL), i database NoSQL utilizzano formati alternativi come archivi di valori-chiave, database orientati ai documenti, database a grafo e archivi a colonne larghe.
I database NoSQL offrono numerosi vantaggi rispetto ai database SQL tradizionali, come scalabilità, flessibilità e costi inferiori. I database NoSQL sono noti anche come database senza schema, nel senso che non richiedono uno schema predefinito esplicito e rigido. Invece, i dati possono essere archiviati e recuperati nel formato più adatto all'attività da svolgere.
I database NoSQL sono comunemente utilizzati in sistemi distribuiti che devono essere in grado di gestire grandi quantità di dati, come applicazioni mobili o applicazioni web con molti utenti. Vengono utilizzati anche in situazioni in cui i dati devono essere archiviati in diversi formati, come immagini o altri tipi multimediali, nonché per dati che cambiano continuamente e necessitano di essere aggiornati rapidamente.
I database NoSQL non sono adatti a tutti i tipi di attività. Per query complesse e modelli di dati complessi, i database SQL tradizionali sono spesso più adatti grazie al loro schema di dati rigidamente applicato e al linguaggio di query più sofisticato.