Limiti del modello relazionale

I database relazionali eccellono con dati strutturati e transazioni complesse, ma mostrano limiti in alcuni scenari:

Cosa sono i database NoSQL?

“NoSQL” sta per “Not Only SQL”: non è un rifiuto di SQL, ma un modello alternativo per situazioni in cui il modello relazionale non è la scelta migliore. Le caratteristiche comuni dei NoSQL sono:

Categorie principali di NoSQL

Tipo Struttura Esempi Caso d’uso ideale
A documento Documenti JSON/BSON annidati MongoDB, CouchDB Cataloghi, CMS, profili utente
Chiave-Valore Coppie chiave → valore Redis, DynamoDB Cache, sessioni, configurazioni
Colonnare Famiglie di colonne Cassandra, HBase Log, time-series, analisi Big Data
A grafo Nodi e archi con proprietà Neo4j, ArangoDB Social network, sistemi di raccomandazione

SQL vs NoSQL: quando scegliere quale

Criterio Scegli SQL Scegli NoSQL
Struttura dei dati Fissa e ben definita Variabile o non prevedibile
Relazioni Molte e complesse Poche o gestibili tramite embedding
Transazioni Critiche (es. pagamenti, banche) Non critiche
Scalabilità Verticale (un server potente) Orizzontale (molti server)
Volume Da medio a grande Molto grande (Big Data)
Velocità sviluppo Schema rigido richiede pianificazione Schema flessibile, si può partire subito