Casa Banche dati Che cos'è nosql? - definizione da techopedia

Che cos'è nosql? - definizione da techopedia

Sommario:

Anonim

Definizione - Cosa significa NoSQL?

NoSQL è una classe di sistemi di gestione di database (DBMS) che non seguono tutte le regole di un DBMS relazionale e non possono utilizzare l'SQL tradizionale per eseguire query sui dati. Il termine è in qualche modo fuorviante quando interpretato come "No SQL" e la maggior parte lo traduce come "Non solo SQL", poiché questo tipo di database non è generalmente una sostituzione ma, piuttosto, un'aggiunta complementare a RDBMS e SQL.

I sistemi basati su NoSQL sono in genere utilizzati in database di dimensioni molto grandi, che sono particolarmente inclini a problemi di prestazioni causati dalle limitazioni di SQL e dal modello relazionale dei database. Molti pensano a NoSQL come al moderno database preferito che si adatta alle esigenze del Web. Alcune importanti implementazioni di NoSQL sono il database Cassandra di Facebook, BigTable di Google e SimpleDB e Dynamo di Amazon.

Techopedia spiega NoSQL

Un database NoSQL non segue necessariamente le rigide regole che regolano le transazioni nei database relazionali. Queste regole violate sono note con l'acronimo ACID (Atomicità, Coerenza, Integrità, Durabilità). Ad esempio, i database NoSQL non utilizzano strutture di schemi fissi e join SQL.

In un RDBMS tradizionale, le operazioni di base sono letture e scritture. Le letture possono essere ridimensionate replicando i dati su più macchine, bilanciando così le richieste di lettura. Tuttavia, ciò influisce sulle scritture poiché è necessario mantenere la coerenza dei dati. Solo le scritture possono essere ridimensionate partizionando i dati. Ciò influisce sulle letture, poiché i join distribuiti sono generalmente lenti e difficili da implementare. Inoltre, per mantenere le proprietà ACID, i database devono bloccare i dati. Ciò significa che quando un utente apre un elemento dati, nessun altro utente dovrebbe essere in grado di apportare modifiche allo stesso elemento. Questa limitazione ha serie implicazioni per le prestazioni.

Queste limitazioni non sono state un grosso problema in passato. Tuttavia, con l'avvento dei social network e dei big data, un numero di enormi database emersi è stato costretto a servire decine, o addirittura centinaia, di milioni di clienti in tutto il mondo con diverse migliaia di letture e scritture ogni minuto. I RDBMS tradizionali semplicemente non soddisfano questa esigenza perché possono solo "scalare" o aumentare le risorse su un server centrale. Un'implementazione NoSQL, d'altra parte, può "ridimensionare" o distribuire il carico del database su più server.

I database NoSQL sono focalizzati su particolari classi di problemi: dall'essere più flessibili sui dati memorizzati (archivi di documenti), al targeting di casi d'uso, come relazioni (database grafici) e aggregazione di dati (database di colonne) o semplicemente semplificando l'idea di un database fino a qualcosa che memorizza un valore (archivio chiave / valore).

I database NoSQL offrono i vantaggi di una rapida scalabilità, prestazioni molto migliori e una struttura più semplice rispetto agli RDBMS. Tuttavia, soffrono anche di essere una tecnologia relativamente nuova e non provata e non possono fornire la ricca funzionalità di reporting e analisi di RDBMS.

Questa definizione è stata scritta nel contesto del database
Che cos'è nosql? - definizione da techopedia