NoSQL: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
→Implementazioni: Aggiunte implementazioni di DB NoSQL. |
disambigua wikilink |
||
(31 versioni intermedie di 22 utenti non mostrate) | |||
Riga 1:
'''NoSQL''' è un movimento che promuove sistemi [[software]] dove la [[persistenza (informatica)|persistenza]] dei dati è in generale caratterizzata dal fatto di non utilizzare il [[modello relazionale]], di solito usato
▲'''NoSQL''' è un movimento che promuove sistemi [[software]] dove la persistenza dei dati è caratterizzata dal fatto di non utilizzare il [[modello relazionale]], di solito usato dai [[database]] tradizionali (RDBMS). L'espressione ''NoSQL'' fa riferimento al linguaggio [[SQL]], che è il più comune linguaggio di interrogazione dei dati nei database relazionali, qui preso a simbolo dell'intero paradigma relazionale.
Questi archivi di dati il più delle volte non richiedono uno schema fisso (
== 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à,
== 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]].
== Classificazione ==
Le implementazioni di NoSQL possono essere categorizzate dal tipo di modello
===
{{vedi anche|
[[File:Couchdb_screenshot.png|thumb|[[CouchDB]]]]
[[File:Lotusnotes.png|thumb|[[Lotus Notes]]]]
Una Base di dati orientata al documento è un programma per applicazioni orientate al documento. Questi sistemi potrebbero essere implementati come strato sopra un database relazionale o a oggetti.
Riga 30 ⟶ 29:
* [[Colayer]]
* [[
* [[CouchDB]]
* [[CouchBase]]
Riga 44 ⟶ 43:
** [[BaseX]]
===
{{vedi anche|
[[File:GraphDatabase_PropertyGraph.png|thumb|Illustrazione di una [[base di dati a grafo]]]]
Una base di dati a grafo usa nodi e archi per rappresentare e archiviare l'informazione.
La rappresentazione dei dati mediante [[grafo|grafi]] offre un'alternativa al [[modello relazionale]] che fa uso di tabelle,
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 80:
* [[Redis]]
=== Valore/chiave
* [[Dynamo (storage system)|Dynamo]]
* [[Cassandra (database)|Cassandra]]
* [[Project Voldemort]]
=== Chiave-valore che conserva mediante l'implementazione
* [[Keyspace (data store)|Keyspace]]
Riga 98:
* [[TigerLogic D3]]
===
{{vedi anche|
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
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
Un altro gruppo di database a oggetti si focalizza sull'uso in sistemi [[Sistema real-time|real time]].
Alcuni esempi di basi dati di questo tipo sono:
Riga 139:
== Voci correlate ==
*[[Sistema di gestione di basi di dati orientato alle colonne]]
== Altri progetti ==
{{interprogetto}}
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* [
* [https://groups.google.com/group/nosql-discussion Discussione nosql] su [[Google Gruppi]]
{{Database management system}}
{{Portale|informatica}}
|