Sommario:
- NoSQL è un singolo tipo di database
- I database NoSQL non sono compatibili con ACID
- I database NoSQL perdono i dati
- I database NoSQL non sono pronti per le applicazioni aziendali mission-critical
- Non è così! Numerosi database NoSQL ora forniscono sicurezza a livello di record e persino a livello di elemento dati (cella). Microsoft DocumentDB, MarkLogic Server, OrientDB, AllegroGraph e Accumulo offrono tutti un controllo dell'accesso basato sui ruoli (RBAC) per accedere ai record memorizzati all'interno di questi database NoSQL.
- Esistono numerosi database open source nel mondo NoSQL. Molte società commerciali hanno tentato di replicare il successo di Red Hat offrendo un sottoinsieme delle funzionalità dei propri prodotti da utilizzare gratuitamente con una licenza open source.
- Il loro uso in nuovi stack di applicazioni Web e mobili ha reso popolari i database NoSQL. Sono facili da utilizzare fin dall'inizio e molti operano in base a un contratto di licenza senza licenza, rendendoli interessanti per le startup.
- Microsoft, Oracle e IBM hanno ciascuno il proprio database NoSQL sul mercato in questo momento. Sebbene suscettibili di bluster, queste aziende investono in tecnologia solo quando vedono un profitto.
- C'è un malinteso comune (da parte degli sviluppatori di applicazioni di database relazionali malvagi, sai chi sei!) Che NoSQL è usato perché gli sviluppatori non hanno una comprensione i fondamenti necessari per configurare i database relazionali in modo che funzionino correttamente.
- Molti degli approcci altamente distribuiti di NoSQL si fondono con la tecnologia RDBMS, che ha portato all'emergere di molti database NewSQL.
Video: 10 NoSQL databases you have to know 2024
NoSQL è un mercato in rapida evoluzione con prodotti in costante cambiamento. Avere così tanti database NoSQL disponibili è un'arma a doppio taglio. Con così tante differenze là fuori, le idee sbagliate comuni si formano e diventano tradizioni.
NoSQL è un singolo tipo di database
NoSQL è un termine generico per una varietà di tipi di database che mostrano approcci architettonici comuni. Questi database non sono destinati ai dati relativi a tabelle, righe e colonne. Sono altamente distribuiti, il che significa che i dati sono distribuiti su più server e sono tolleranti rispetto alle modifiche della struttura dei dati (cioè, sono indipendenti dallo schema).
Puoi trovare diversi tipi di database sotto il banner NoSQL:
-
Gli archivi a valore-chiave forniscono una memorizzazione facile e veloce di dati semplici attraverso l'uso di una chiave.
-
Gli archivi di colonne forniscono supporto per tabelle molto larghe ma non per le relazioni tra tabelle.
-
Gli archivi di documenti supportano strutture gerarchiche JSON e / o XML.
-
I negozi triple (e grafici) offrono la stessa flessibilità alle relazioni che documentano i database NoSQL alle strutture di registrazione.
I database NoSQL non sono compatibili con ACID
La conformità ACID è il gold standard della sicurezza dei dati. Garantendo che le operazioni siano atomiche, le visualizzazioni dei dati sono coerenti, le operazioni non interferiscono tra loro e i dati vengono salvati durevolmente sul disco, proteggendo i dati. Le persone spesso pensano che i database NoSQL non forniscano la conformità ACID.
Molti database NoSQL forniscono supporto ACID completo tra i cluster. MarkLogic Server, OrientDB, Aerospike e Hypertable sono tutti pienamente compatibili con ACID, fornendo una conformità ACID completamente serializzabile o read-commit .
Molti altri database NoSQL possono fornire una coerenza simile a ACID utilizzando impostazioni sensibili nel codice client. Questo in genere comporta un Quorum o Tutto impostazione per entrambe le operazioni di lettura e scrittura. Questi database includono Riak, MongoDB e Microsoft DocumentDB.
I database NoSQL perdono i dati
Questo equivoco si verifica quando i database NoSQL vengono utilizzati in modo errato o quando vengono utilizzati prodotti meno maturi. Alcuni prodotti NoSQL sono meno maturi, esistendo solo da meno di cinque anni, quindi non hanno ancora sviluppato funzionalità di prevenzione della perdita dei dati.
La garanzia di durabilità nella conformità ACID è vitale per i sistemi aziendali e i database NoSQL conformi a ACID forniscono questa garanzia. Pertanto, si è certi che nessun dato verrà perso una volta che il database conferma che i dati sono stati salvati.
Inoltre, i database eventualmente coerenti possono anche fornire la durabilità dei dati mediante un uso attento di un registro di scrittura in anticipo (WAL).Molti database NoSQL forniscono questa funzionalità.
I database NoSQL non sono pronti per le applicazioni aziendali mission-critical
Al contrario, molte organizzazioni utilizzano database NoSQL per carichi di lavoro mission-critical, tra cui:
-
Agenzie di difesa e intelligence che memorizzano e condividono le informazioni < Aziende dei media che memorizzano tutte le loro risorse digitali per la pubblicazione e l'acquisto in database NoSQL
-
Società di media che forniscono cataloghi di metadati ricercabili per i loro supporti video e audio
-
Banche che utilizzano database NoSQL come negozi commerciali primari o anti-frode e rischio di back office -sistemi di valutazione
-
Le agenzie governative che utilizzano i database NoSQL come back end primari per i loro sistemi di assistenza sanitaria
-
Questi non sono piccoli sistemi o semplici cache per i sistemi relazionali. Sono casi per i quali NoSQL è adatto. Ovviamente, alcuni database NoSQL sono più pronti per i sistemi aziendali di altri.
I database NoSQL non sono sicuri
Non è così! Numerosi database NoSQL ora forniscono sicurezza a livello di record e persino a livello di elemento dati (cella). Microsoft DocumentDB, MarkLogic Server, OrientDB, AllegroGraph e Accumulo offrono tutti un controllo dell'accesso basato sui ruoli (RBAC) per accedere ai record memorizzati all'interno di questi database NoSQL.
Molti database NoSQL forniscono integrazione con LDAP (Lightweight Directory Access Protocol), Kerberos e sistemi di sicurezza basati su certificati. Il supporto per la crittografia tramite fili in tutte le comunicazioni tra client e server e le comunicazioni internodi all'interno di un cluster, viene fornito anche da questi database.
Alcuni database NoSQL sono persino accreditati e utilizzati dalle organizzazioni della difesa. Accumulo proveniva da un progetto della National Security Agency (NSA). MarkLogic Server è accreditato in modo indipendente secondo la certificazione Common Criteria del Dipartimento della Difesa degli Stati Uniti (DoD).
Non tutti i database NoSQL forniscono questa funzionalità, anche se probabilmente la maggior parte di essi sarà disponibile in futuro. Per ora, hai scelte che ti consentono di proteggere le informazioni.
Tutti i database NoSQL sono open source
Esistono numerosi database open source nel mondo NoSQL. Molte società commerciali hanno tentato di replicare il successo di Red Hat offrendo un sottoinsieme delle funzionalità dei propri prodotti da utilizzare gratuitamente con una licenza open source.
Molte di queste piattaforme di aziende non supportano gli standard aperti, però. Inoltre, la maggior parte del codice è fornita da quelle aziende. Le funzionalità limitate sono fornite nella versione di base da queste società "open-source".
Ci sono molte aziende completamente commerciali nello spazio NoSQL. Microsoft, MarkLogic, Franz (Allegrograph), Hypertable e Aerospike sono tutte grandi aziende commerciali che offrono database NoSQL e hanno molto successo nel farlo.
I database NoSQL sono solo per il Web 2. 0 applicazioni
Il loro uso in nuovi stack di applicazioni Web e mobili ha reso popolari i database NoSQL. Sono facili da utilizzare fin dall'inizio e molti operano in base a un contratto di licenza senza licenza, rendendoli interessanti per le startup.
Le applicazioni di social media usano comunemente i database NoSQL. Le applicazioni di social media portano in rete i dati pubblicati e li aggregano insieme per scoprire informazioni preziose.
La maggior parte dei casi d'uso, tuttavia, non sono Web 2. Applicazioni di tipo 0. Sono le stesse applicazioni che esistono da molto tempo, ma i database relazionali non forniscono più una soluzione adeguata. Ciò include scenari in cui i dati memorizzati sono molto sparsi, con molti valori vuoti (nulli) o dove si verificano frequenti cambiamenti nel tempo della struttura delle informazioni memorizzate.
NoSQL è solo hype
Microsoft, Oracle e IBM hanno ciascuno il proprio database NoSQL sul mercato in questo momento. Sebbene suscettibili di bluster, queste aziende investono in tecnologia solo quando vedono un profitto.
I giocatori affermati come MarkLogic con anni sul mercato hanno anche dimostrato che la tecnologia NoSQL non è solo hype ed è preziosa per una vasta gamma di clienti reali in tutti i settori nei sistemi mission-critical.
Gli sviluppatori NoSQL non capiscono come usare un RDBMS
C'è un malinteso comune (da parte degli sviluppatori di applicazioni di database relazionali malvagi, sai chi sei!) Che NoSQL è usato perché gli sviluppatori non hanno una comprensione i fondamenti necessari per configurare i database relazionali in modo che funzionino correttamente.
Questo è completamente errato. NoSQL comprende una serie di approcci riuniti per rispondere a problemi di dati fondamentalmente diversi rispetto a un sistema di gestione dei database relazionali (RDBMS).
Se stai confrontando un RDBMS con un database NoSQL, stai confrontando le mele con le motociclette! I database NoSQL non sostituiscono RDBMS. Sono destinati a dati strutturalmente diversi e a problemi di dati diversi.
La tecnologia RDBMS aggiornata eliminerà la necessità di NoSQL
Molti degli approcci altamente distribuiti di NoSQL si fondono con la tecnologia RDBMS, che ha portato all'emergere di molti database NewSQL.
Sebbene NewSQL stia aiutando a gestire le critiche degli sviluppatori NoSQL alla tecnologia RDBMS, NewSQL è organizzato attorno alle stesse strutture dati di un RDBMS.
I database NoSQL sono per problemi di dati diversi, con strutture dati e casi d'uso diversi.