NoSQL

Autore: Robert Simon
Data Della Creazione: 19 Giugno 2021
Data Di Aggiornamento: 1 Luglio 2024
Anonim
Что такое NoSQL за 6 минут
Video: Что такое NoSQL за 6 минут

Contenuto

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, Googles BigTable e Amazons SimpleDB e Dynamo.

Un'introduzione a Microsoft Azure e Microsoft Cloud | In questa guida imparerai cos'è il cloud computing e in che modo Microsoft Azure può aiutarti a migrare e gestire la tua azienda dal cloud.

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 funzionalità di reporting e analisi analitiche ricche di RDBMS.

Questa definizione è stata scritta nel truffatore del database