Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
teknopedia

teknopedia

teknopedia

teknopedia

teknopedia

teknopedia
teknopedia
teknopedia
teknopedia
teknopedia
teknopedia
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. NoSQL - Teknopedia
NoSQL - Teknopedia
Alcuni DBMS che abbracciano la filosofia NoSQL

NoSQL è un movimento che promuove sistemi software dove la persistenza dei dati è in generale caratterizzata dal fatto di non utilizzare il modello relazionale, di solito usato dalle basi di dati tradizionali (RDBMS). L'espressione fa infatti 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 (schemeless), evitano spesso le operazioni di giunzione (join) e puntano a scalare in modo orizzontale. Gli accademici e gli articoli si riferiscono a queste basi di dati come memorizzazione strutturata (structured storage).

Etimologia del termine

[modifica | modifica wikitesto]

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, 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"[1].

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[2]. Il nome era un tentativo per etichettare il crescente numero di data base non relazionali e distribuiti che spesso non forniscono le classiche caratteristiche ACID: atomicità, coerenza, isolamento, durabilità. Il motivo per il quale tali caratteristiche non venivano fornite è il cosiddetto teorema CAP.

Implementazioni

[modifica | modifica wikitesto]

Implementazioni degne di nota sono Cloudant di IBM, BigTable di Google e Dynamo di Amazon.com, e le varianti open source come Apache Accumulo, HBase e Cassandra.

Classificazione

[modifica | modifica wikitesto]

Le implementazioni di NoSQL possono essere categorizzate dal tipo di modello di dati adottato. Segue una descrizione delle categorie più diffuse.

Basi di dati orientate al documento

[modifica | modifica wikitesto]
Lo stesso argomento in dettaglio: Base di dati orientata al documento.
CouchDB
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.

Le basi di dati orientate al documento non memorizzano i dati in tabelle con campi uniformi per ogni record come nei database relazionali, ma ogni record è memorizzato come un documento che possiede determinate caratteristiche. Qualsiasi numero di campi con qualsiasi lunghezza può essere aggiunto al documento. I campi possono anche contenere pezzi multipli di dati.

Alcuni esempi di basi dati di questo tipo sono:

  • Colayer
  • Elasticsearch
  • CouchDB
  • CouchBase
  • Apache Jackrabbit
  • Lotus Notes
  • MongoDB
  • Apache Solr
  • OrientDB
  • Raven DB
  • Base di dati XML
    • MarkLogic Server
    • eXist
    • BaseX

Base di dati a grafo

[modifica | modifica wikitesto]
Lo stesso argomento in dettaglio: Base di dati a grafo.
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 grafi offre un'alternativa al modello relazionale che fa uso di tabelle, alle basi di dati orientate al documento (che usano documenti), o altri, come i sistemi ad archivi strutturati (structured storage) basati su colonne o su cesti non interpretati di dati.

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). Dipendono meno da un rigido schema 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.

Alcuni esempi di basi dati di questo tipo sono:

  • AllegroGraph
  • Core Data
  • Neo4j
  • OrientDB
  • DEX/Sparksee
  • Unisys DMS (Data Management System) creato dalla Burroughs Corporation nel 1972
  • IBM DL1 (Data Language One). Il grafo ha una struttura gerarchica

Chiave/valore archiviato su disco

[modifica | modifica wikitesto]
  • DensoDB
  • Tuple space
  • Memcachedb
  • Redis
  • SimpleDB
  • Tokyo Cabinet
  • BigTable
  • Orient Key/Value Server
  • Pincaster

Chiave/valore cache in RAM

[modifica | modifica wikitesto]
  • memcached
  • Velocity
  • Redis

Valore/chiave eventually‐coerente

[modifica | modifica wikitesto]
  • Dynamo
  • Cassandra
  • Project Voldemort

Chiave-valore che conserva mediante l'implementazione di Paxos

[modifica | modifica wikitesto]
  • Keyspace

Chiave-valore ordinato

[modifica | modifica wikitesto]
  • NMDB
  • Memcachedb
  • Berkeley DB

Basi di dati multivalore

[modifica | modifica wikitesto]
  • OpenQM
  • Rocket U2
  • TigerLogic D3

Basi di dati a oggetti

[modifica | modifica wikitesto]
Lo stesso argomento in dettaglio: Base di dati a oggetti.

Un modello di banca dati ad oggetti è un modello in cui l'informazione è rappresentata in forma di oggetti come nei linguaggi di programmazione ad oggetti.

Le banche dati a oggetti sono situate in un mercato di nicchia rispetto al modello relazionale (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 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 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 real time.

Alcuni esempi di basi dati di questo tipo sono:

  • Db4o
  • PostgreSQL
  • GemStone/S
  • InterSystems Caché
  • Objectivity/DB
  • ZODB
  • OrientDB

Tabulare

[modifica | modifica wikitesto]
  • BigTable
  • Mnesia
  • Hbase
  • Hypertable

Archiviazione in tuple

[modifica | modifica wikitesto]
  • Apache River

Sconosciuto

[modifica | modifica wikitesto]
  • GT.M
  • Moneta
  • FluidDB

Note

[modifica | modifica wikitesto]
  1. ^ Carlo Strozzi, NoSQL, su strozzi.it.
  2. ^ A Brief History of NoSQL, su blog.knuthaugen.no.

Voci correlate

[modifica | modifica wikitesto]
  • Sistema di gestione di basi di dati orientato alle colonne

Altri progetti

[modifica | modifica wikitesto]

Altri progetti

  • Wikimedia Commons
  • Collabora a Wikimedia Commons Wikimedia Commons contiene immagini o altri file su NoSQL

Collegamenti esterni

[modifica | modifica wikitesto]
  • Sito ufficiale, su nosql-database.org. Modifica su Wikidata
  • Gruppo utenti NoSQL su LinkedIn
  • Discussione nosql su Google Gruppi
V · D · M
Sistemi di gestione delle basi di dati
Relazionali
proprietari4th Dimension · DB2 · dBase · IBM Informix · InterBase · MaxDB · Oracle · SQL Server · Sybase SQL Anywhere Studio
liberiDerby · Drizzle · Firebird SQL · HSQLDB · Ingres · MariaDB · MySQL · Percona Server · PostgreSQL
Simbolo database
Simbolo database
RDBMS integrante un RADAccess · Bento · FileMaker · HyperFileSQL · Kexi · Knoda · LibreOffice Base · Neo4j · OpenOffice Base · Paradox · SAS · 4th Dimension
Embedded (incorporato) · Berkeley DB (Relazionale proprietario) · SQLite (Relazionale libero)
Orientati agli oggetti
TabulareBigTable · Apache HBase
Archiviazione in tupleApache River
AltroDataBase For Objects · FluidDB · Moneta · OrientDB · PostgreSQL · Versant Object Database · ZODB
Base di dati relazionale a oggetti
software liberiCUBRID · Virtuoso Universal Server · WakandaDB · Zope Object Database
ProprietariIBM DB2 · IBM Informix · Greenplum Database · Microsoft SQL Server · Oracle · SAP Adaptive Server Enterprise
NoSQL
Orientato al documento
Database XMLExistDB · Oracle · BaseX · MarkLogic Server
AltriCouchDB · MongoDB · RavenDB · Apache Solr · OrientDB · OpenTSDB · KairosDB
Database a grafoAllegroGraph · Core Data · Neo4j · OrientDB
Chiave/valore archiviato su discoRedis (open source) · BigTable · DensoDB
Chiave/valore cache in RAMRedis (open source) · memcached
Valore/chiave Eventually‐consistentCassandra · Amazon-Dynamo
Chiave-valore che conserva mediante l'implementazione di PaxosKeyspace
Chiave-valore ordinatoBerkeley DB · NMDB
Basi di dati multivaloreOpenQM · Rocket U2
AltroSimpleDB · RethinkDB · LevelDB (No SQL libero)
Sistema di gestione di basi di dati
orientato alle colonne
software liberiCalpont InfiniDB · Druid · MonetDB · Neo4j · RCFile · Apache HBASE
ProprietariIBM DB2 · Microsoft SQL Server 2012 · Oracle Exadata · SAP HANA · Sybase IQ · Vector · Vertica
Base di dati spaziale
con specifiche OpenGISAsterixDB(Open source) · IBM DB2 · Microsoft SQL Server · MonetDB · MySQL · Neo4j · Oracle Spatial · PostgreSQL con PostGIS · SAP HANA · SpatiaLite · Teradata Geospatial · Vertica Place
Base di dati ad oggetti in movimentoSECONDO, · Firebird con TerraLib · MySQL con TerraLib · PostgreSQL con TerraLib · SQLServer con TerraLib
Base di dati multimedialeOracle Image · Oracle Video
Categoria:Basi di dati
  Portale Informatica: accedi alle voci di Teknopedia che trattano di informatica
Estratto da "https://it.wikipedia.org/w/index.php?title=NoSQL&oldid=147859798"

  • Indonesia
  • English
  • Français
  • 日本語
  • Deutsch
  • Italiano
  • Español
  • Русский
  • فارسی
  • Polski
  • 中文
  • Nederlands
  • Português
  • العربية
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022