L’acronimo NoSQL significa “not only SQL”, e proprio in questo senso deve essere interpretato questo modello di banche dati: assolutamente non come una soluzione contrapposta, quanto piuttosto come un arricchimento e un’utile integrazione dei tradizionali database SQL relazionali. I database NoSQL, infatti, superano i limiti dei sistemi relazionali, utilizzando modelli di banche dati alternativi. Questo, tuttavia, non significa necessariamente che i sistemi SQL non vengano utilizzati: esistono infatti anche numerose varianti miste in cui convivono entrambe le soluzioni e che vengono anch’esse comprese nella definizione generale di NoSQL.
Fino alla fine degli anni 2000, i database SQL rappresentavano il non plus ultra del progresso applicativo. Altri approcci, come i database orientati ad oggetti, non hanno mai raggiunto una rilevanza paragonabile in ragione della loro complessità di utilizzo. Un’alternativa vera e propria si è concretizzata grazie allo sviluppo dei database NoSQL, che sono stati la risposta alle limitazioni e ai problemi delle banche dati relazionali – queste ultime, infatti, spesso non sono in grado di soddisfare le esigenze dei moderni sviluppi applicativi. A differenza delle banche dati relazionali, i sistemi NoSQL utilizzano innovazioni, come i cloud server, per offrire un modello di dati alternativo in cui possono essere archiviati ed elaborati moltissimi dati di diverso tipo. Le strutture di dati così ottenute sono efficienti e flessibili e sono in grado di reagire rapidamente al mutamento delle esigenze.
I sistemi NoSQL vengono di frequente denominati sistemi ad archivi strutturati, definizione che ne esplicita la differenza sostanziale rispetto alle banche dati SQL relazionali: a differenza di queste ultime, i database NoSQL non utilizzano schemi tabellari rigidi all’interno dei quali i dati devono essere definiti prima dell’archiviazione. I database NoSQL, infatti, fanno ricorso a metodi più flessibili, che permettono di aggiungere senza difficoltà nuovi set di dati che si aggiornano di continuo nell’applicazione. Le soluzioni NoSQL sono pertanto adatte ad essere utilizzate per l’elaborazione di dati non strutturati o anche sconosciuti – cosa impensabile con una banca dati relazionale.