Abstract:
Con lo sviluppo di internet e la nascita dei sistemi cloud, si è venuta a creare l’esigenza di pubblicare online grandi quantità di dati e di contenuti. Di conseguenza è sorto il problema di permettere la gestione di grandi quantità di dati e allo stesso tempo garantire la funzionalità, l’affidabilità e la disponibilità dei servizi. A questo proposito i DBMS tradizionali hanno iniziato a portare a galla diversi limiti che andremo ad evidenziare in seguito. Molti limiti e problemi che si venivano a creare con i classici database relazionali furono risolti dalla nascita e dall’utilizzo di una nuova generazione di database: i database NO-SQL. NO-SQL sta per ”Not Only Sql” che indica un data-model diverso dal modello di dati con le tabelle al quale siamo sempre stati abituati. Tra le caratteristiche principali dei db NoSql c'è il fatto di non avere uno schema predefinito e di non utilizzare come linguaggio per le query l’SQL. Questa famiglia di database in realtà non è una vera e propria novità, in quanto questo termine fu coniato per la prima volta da Carlo Strozzi nel 1998 ed ha col tempo dimostrato di avere molti vantaggi rispetto ai DBMS anche se in alcuni campi specifici si preferisce ancora continuare ad utilizzare i db tradizionali per motivi che vedremo nel corso della tesi. Questa tesi ha come scopo quello di andare ad approfondire le caratteristiche dei database NOSql andando ad analizzarne la tassonomia e presentando 3 diversi tipi di db NoSQL con i 3 modelli di dati principali e di confrontare questi db con i classici database tradizionali, andando anche a creare lo stesso database prima con Mysql e poi con MongoDB, un database NoSql, andando a confrontare anche la prestazioni eseguendo delle query simili in entrambi i db.