NoSQL: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Cambiato collegamento che reindirizzava
disambigua wikilink
 
(8 versioni intermedie di 7 utenti non mostrate)
Riga 5:
== Etimologia del termine ==
Il termine NoSQL fu usato per la prima volta nel [[1998]] per una base di dati relazionale [[open source]] che non usava un'interfaccia SQL.
L'autore [[Carlo Strozzi (informatico)|Carlo Strozzi]], dichiarò che "come movimento, NoSQL diparte in modo radicale dal modello relazionale, e quindi andrebbe chiamato in modo più appropriato ''NoREL'', o qualcosa di simile"<ref>[http://www.strozzi.it/cgi-bin/CSA/tw7/I/en_US/NoSQL/Home%20Page Carlo Strozzi, NoSQL]</ref>.
 
All'opposto di quanto si potrebbe pensare, il movimento NOSQL non è contrario all'utilizzo di database relazionali. Il termine NOSQL infatti è acronimo di ''Not Only SQL'', a significare che esistono diversi casi d'uso per i quali il modello relazionale rappresenta una forzatura, ma tanti altri per i quali tale modello è ancora la soluzione migliore.
 
Il termine fu riutilizzato nel 2009 da un dipendente di [[Rackspace]], Eric Evans, quando [[Johan Oskarsson]] di [[Last.fm]] volle organizzare un evento per discutere di basi di dati distribuite open source<ref>[http://blog.knuthaugen.no/2010/03/a-brief-history-of-nosql.html A Brief History of NoSQL]</ref>.
Il nome era un tentativo per etichettare il crescente numero di data base non relazionali e distribuiti che spesso non forniscono le classiche caratteristiche [[Proprietà ACIDE|ACID]]: atomicità, coerenza, isolamento, durabilità. Il motivo per il quale tali caratteristiche non venivano fornite è il cosiddetto [[teorema CAP]].
 
== Implementazioni ==
 
Implementazioni degne di nota sono [[Cloudant]] di [[IBM]], [[BigTable]] di [[Google]] e [[Dynamo (database)|Dynamo]] di [[Amazon.com]], e le varianti open source come [[Apache Accumulo]], [[HBase]] e [[Cassandra (database)|Cassandra]].
 
Riga 19 ⟶ 18:
Le implementazioni di NoSQL possono essere categorizzate dal tipo di modello di dati adottato. Segue una descrizione delle categorie più diffuse.
 
=== DatabaseBasi di dati orientate al documento ===
{{vedi anche|Base di dati orientata al documento}}
[[File:Couchdb_screenshot.png|thumb|[[CouchDB]]]]
Riga 52 ⟶ 51:
I database a grafo sono spesso più veloci di quelli relazionali nell'associazione di set di dati, e mappano in maniera più diretta le strutture di applicazioni orientate agli oggetti.
Scalano più facilmente a grandi quantità di dati e non richiedono le tipiche e onerose operazioni di unione ([[Join (SQL)|join]]).
Dipendono meno da un rigido schema [[Modello E-R|entità-relazione]] e sono molto più adeguati per gestire dati mutevoli con schemi evolutivi.
Al contrario, i database relazionali sono tipicamente più veloci nell'eseguire le stesse operazioni su un grande numero di dati.
 
Riga 86 ⟶ 85:
* [[Project Voldemort]]
 
=== Chiave-valore che conserva mediante l'implementazione di [[Algoritmo di Paxos|Paxos]] ===
* [[Keyspace (data store)|Keyspace]]
 
Riga 103 ⟶ 102:
Un modello di banca dati ad oggetti è un modello in cui l'informazione è rappresentata in forma di oggetti come nei [[Programmazione orientata agli oggetti|linguaggi di programmazione ad oggetti]].
 
Le banche dati a oggetti sono situate in un mercato di nicchia rispetto al modello relazionale ([[Relational database management system|RDBMS]]).
Vennero prese in considerazione sin dagli anni ottanta e novanta, ma ebbero uno scarso impatto commerciale e vennero usate solo in campi specifici.
 
I campi d'applicazione sono: ingegneria, [[banche dati spaziali]], telecomunicazioni, e aree scientifiche come la [[Fisica delle particelle|fisica delle alte energie]] e la [[biologia molecolare]].
 
I database a oggetti detengono il record per la più grande base di dati al mondo (essendo il primo a contenere oltre 1000 [[Terabyte|TB]] allo [[Stanford Linear Accelerator Center]]) e il più alto tasso di assorbimento mai registrato per un database commerciale di oltre 1 TB per un'ora.
 
Un altro gruppo di database a oggetti si focalizza sull'uso in sistemi [[Sistema real-time|real time]].
Riga 140 ⟶ 139:
 
== Voci correlate ==
 
*[[Sistema di gestione di basi di dati orientato alle colonne]]
 
== Altri progetti ==
{{interprogetto}}
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* [https://www.linkedin.com/groups?gid=2085042 Gruppo utenti NoSQL] su [[LinkedIn]]
* [https://groups.google.com/group/nosql-discussion Discussione nosql] su [[Google Gruppi]]