Casa Finanza personale 10 Motivi Gli sviluppatori adorano NoSQL - dummies

10 Motivi Gli sviluppatori adorano NoSQL - dummies

Sommario:

Video: How do I Enable Offline Support? | Get to Know Cloud Firestore #9 2024

Video: How do I Enable Offline Support? | Get to Know Cloud Firestore #9 2024
Anonim

La popolarità dei database NoSQL deriva dal numero di sviluppatori che sono entusiasti di utilizzarli. Gli sviluppatori vedono NoSQL come una tecnologia abilitante e liberatoria. A differenza dell'approccio relazionale tradizionale, NoSQL offre un modo per lavorare con i dati più vicini all'applicazione rispetto al modello di dati relazionali.

Gli sviluppatori adottano le tecnologie NoSQL per molte ragioni, alcune delle quali sono evidenziate qui:

Non c'è bisogno di scrivere SQL

Scrivere Structured Query Language (SQL) - e farlo bene - è la rovina dell'esistenza di molti sviluppatori enterprise. Questo dolore è dovuto al fatto che scrivere query molto complesse con più join su tabelle correlate non è facile. Inoltre, alla luce delle normali modifiche al database nel tempo, il mantenimento di un codice di query complesso è un lavoro di per sé.

Gli sviluppatori aziendali hanno inventato diversi modi per evitare di scrivere SQL. Uno dei modi più popolari è l'uso della libreria Object-Relational Mapping (ORM), Hibernate. Hibernate prende un file di configurazione e uno o più oggetti e astrae il brutto SQL in modo che gli sviluppatori non debbano usarlo. Questo ha un costo in termini di prestazioni, ovviamente, e non risolve tutti i casi di utilizzo delle query. A volte devi tornare a SQL.

I database NoSQL forniscono i propri linguaggi di query, che sono sintonizzati sul modo in cui i dati sono gestiti dal database e sulle operazioni che gli sviluppatori eseguono più spesso. Questo approccio fornisce un meccanismo di query più semplice rispetto alle istruzioni SQL annidate.

Alcuni database NoSQL forniscono anche un'interfaccia SQL per interrogare i database NoSQL, nel caso gli sviluppatori non possano rompere l'abitudine SQL!

Non è necessario dedicare mesi alla progettazione dello schema

L'agnosticismo dello schema nei database NoSQL consente di caricare rapidamente i dati senza dover creare uno schema relazionale per un periodo di mesi. Non è necessario analizzare in anticipo ogni singolo elemento di dati che è necessario memorizzare in NoSQL, come si fa con un RDBMS.

Meno codice di trasformazione dei dati (ETL)

Un problema comune con i database relazionali che deriva dall'avere uno schema di progettazione iniziale è che devi forzare i dati non di riferimento in righe e colonne. Questo meccanismo di sminuzzamento, insieme ad altri metodi di codice che preelaborano le informazioni per la memorizzazione e lo post-elaborano per il recupero, sono indicati come estrarre, trasformare e caricare (ETL) .

Questo codice costringe gli sviluppatori a prendere il loro bel oggetto lucido e modelli di documenti e scrivere codice per memorizzare ogni ultimo elemento. Fare ciò è sgradevole e porta anche a sviluppatori altamente qualificati che scrivono codice idraulico poco performante e poco interessante.

I database NoSQL consentono di mantenere le strutture di dati memorizzate molto più vicino alla loro forma originale. I dati che fluiscono tra i sistemi sono in genere in un formato XML, mentre quando si tratta di applicazioni Web, i dati sono formattati in un documento JSON. Essere in grado di archiviare, gestire e cercare in modo nativo JSON è un enorme vantaggio per gli sviluppatori di applicazioni.

Più facile da mantenere il codice

Tutto il codice che scrivi deve essere mantenuto. Mantenendo le strutture del database vicine ai formati dei dati del codice dell'applicazione, si riduce al minimo la quantità di codice, che a sua volta riduce al minimo la manutenzione del codice e dei test di regressione che è necessario eseguire nel tempo.

Quando le strutture dati cambiano su un RDBMS, è necessario rivedere tutto il codice SQL che può utilizzare le tabelle modificate. In NoSQL, semplicemente aggiungi il supporto per i nuovi elementi, o semplicemente li ignori! Molto più semplice da mantenere, grazie alla natura agnostica dello schema dei database NoSQL.

Esegui codice vicino ai dati per la migliore prestazione

Un RDBMS fornisce stored procedure per l'esecuzione di codice su un server di database. Questo codice viene eseguito in un unico punto. Questo utile approccio è alla base di molte applicazioni analitiche e complesse di gestione dei dati.

Molti database NoSQL consentono di distribuire questo tipo di codice su tutti i server che memorizzano dati rilevanti, il che consente una maggiore parallelizzazione del carico di lavoro. Questo approccio è particolarmente importante per ingestioni di dati di grandi dimensioni che richiedono elaborazione e analisi di aggregazione complesse al momento della query.

Le funzioni definite dall'utente (UDF) e gli script sul lato server in una varietà di database NoSQL forniscono questa funzionalità distribuita. Le UDF sono simili alla funzionalità MapReduce di Hadoop, tranne che le UDF possono accadere in tempo reale piuttosto che in modalità batch e non richiede lo stesso esborso dell'infrastruttura richiesto da Hadoop più un database.

Molte opzioni open source

In molte aree del software aziendale manca la scelta di una solida soluzione open source. Possono esistere solo una o due opzioni diffuse. La disponibilità di competenze e il sostegno locale nel paese sono problemi ancora più grandi.

Tuttavia, ci sono una miriade di database NoSQL open-source. Molti di questi hanno società commerciali a pieno titolo che offrono supporto e hanno uffici a livello globale. Quindi, se hai bisogno di supporto o più funzionalità, puoi eventualmente passare a quelle versioni.

Ciò riduce il costo dell'adozione della tecnologia NoSQL e consente di "provare prima di acquistare. "Questa disponibilità di alternative open source ha spinto le aziende commerciali nello spazio NoSQL a offrire versioni gratuite ma ben caratterizzate del loro software o ad offrire licenze di avvio speciali per le piccole organizzazioni.

Facile da ridimensionare

Non è necessario avere un DBA costoso per passare giorni a refactoring di SQL e creare visualizzazioni materializzate per ottenere ogni pollice di prestazioni dai sistemi NoSQL.

Gli archivi a valore-chiave possono gestire centinaia di migliaia di operazioni per server. Tutti i tipi di NoSQL possono scalare orizzontalmente su server commodity relativamente economici.Quindi, è molto più semplice scalare il proprio cluster di database con NoSQL rispetto ai tradizionali database relazionali.

Inoltre, grazie alla loro capacità di scalare, i database NoSQL si adattano bene anche ai cloud pubblici e privati. I database NoSQL sono progettati per essere flessibili, espandersi e contrarsi man mano che gli usi cambiano. Questa capacità è spesso definita elasticità .

Modello di dati di coerenza finale

Sebbene i casi di importanza critica richiedano la conformità ACID, non tutte le applicazioni devono farlo. Essere in grado di rilassare la coerenza attraverso cluster molto grandi può essere utile per alcune applicazioni.

I database NoSQL consentono di ridurre questi vincoli o di combinare una coerenza consistente e una coerenza debole nello stesso database, per diversi tipi di record.

Supporto linguistico esoterico

Quasi tutti i database supportano i principali linguaggi di programmazione come Java e C #. NETTO. Molti database supportano PHP, Python e Ruby on Rails.

NoSQL ha una serie di driver linguistici per una gamma ancora più ampia di linguaggi di programmazione. Se la tua organizzazione ha una lingua specifica per il dominio, potresti trovarne il supporto in un database NoSQL.

JavaScript end-to-end

l'uso di JavaScript è esploso negli ultimi anni. È un linguaggio di scripting conveniente sia sul web che, grazie a Node. js, sul lato server.

Molti database NoSQL ora supportano lo sviluppo completo di JavaScript end-to-end. Ciò significa che la tua organizzazione può ora utilizzare lo stesso pool di competenze linguistiche di programmazione per creare applicazioni Web e API di dati di livello intermedio e logica aziendale, nonché gestire i trigger di database back-end e l'elaborazione analitica basata su MapReduce accanto ai dati.

Di conseguenza, rispetto alle altre tecnologie di database, il costo totale di proprietà (TCO) di NoSQL è inferiore.

10 Motivi Gli sviluppatori adorano NoSQL - dummies

Scelta dell'editore

Comprensione dei livelli di accesso e dei ruoli in Microsoft CRM - dummies

Comprensione dei livelli di accesso e dei ruoli in Microsoft CRM - dummies

I privilegi che vi sono assegnati regolano le funzioni che è possibile eseguire su particolari record o oggetti. I tuoi livelli di accesso determinano a quale record si applicano questi privilegi. In altre parole, sebbene i tuoi privilegi possano includere la possibilità di eliminare i record account, è il tuo livello di accesso che determina esattamente quali record puoi eliminare. ...

Scegli o cambia utenti in NaturallySpeaking - dummies

Scegli o cambia utenti in NaturallySpeaking - dummies

Quando lanci Dragon NaturallySpeaking, potrebbe chiederti di scegliere un utente . Se non ti chiede, non ti preoccupare. Probabilmente hai un solo utente: tu. Ricorda che quando hai configurato NaturallySpeaking per la prima volta, hai creato e nominato un profilo utente e poi hai addestrato NaturallySpeaking su come l'utente (tu) ha suonato. Ora, quando avvii ...

Aggiungi una fonte di dettatura al tuo profilo corrente - dummies

Aggiungi una fonte di dettatura al tuo profilo corrente - dummies

La tua voce registrata è così diversa dalla tua voce dal vivo che devi addestrare Dragon NaturallySpeaking a riconoscerlo. Allenarsi NaturallySpeaking per capire la tua voce registrata è come allenarlo per dettatura diretta, con una differenza: leggi il materiale di allenamento nel tuo registratore, trasferisci il dettato sul PC e poi ...

Scelta dell'editore

Mantieni il tuo cervello affilato disegnando - manichini

Mantieni il tuo cervello affilato disegnando - manichini

Se non hai mai pensato a te stesso come una persona creativa, è tempo per un cambio di pensiero. Ogni persona ha il potenziale per sbloccare un aspetto della creatività. Ecco alcuni suggerimenti per aiutarti ad andare avanti. Includono suggerimenti su semplici attività di disegno per iniziare - ma se ritieni che ...

Come usare la tolleranza come tecnica di gestione della rabbia - manichini

Come usare la tolleranza come tecnica di gestione della rabbia - manichini

La rabbia è l'emozione dell'intolleranza che può essere gestito attraverso la pratica della tolleranza. Intolleranza significa che non accetti il ​​punto di vista o il comportamento di un'altra persona. La rabbia dice che pensi di avere ragione e che l'altra persona ha torto. Non può essere più semplice di così. La rabbia difende l'ascoltatore da qualsiasi cambiamento nel suo modo di pensare. ...

Migliorare la gestione della rabbia con l'esercizio - manichini

Migliorare la gestione della rabbia con l'esercizio - manichini

Una quantità di prove scientifiche supporta il fatto che l'esercizio fisico regolare migliora gli stati d'animo e può aiutarti a ridurre la tua rabbia. Se scegli di allenarti regolarmente, puoi aspettarti di Concentrare meglio Dormire meglio Mostra un maggiore interesse per il sesso Avere più energia Sii meno teso Goditi la vita più in generale Sento meno alienato ...

Scelta dell'editore

Caratteristiche della Canon Digital Rebel XTi / 400D - manichini

Caratteristiche della Canon Digital Rebel XTi / 400D - manichini

La tua nuova Canon Digital Rebel XTi / 400D ha una serie di funzioni e le seguenti figure le indicano una ad una. Un asterisco indica che un pulsante o un controllo ha più funzioni. Verificando la Canon XTi / 400D dal punto di vista del fotografo. Osservando alcuni dei pulsanti e dei quadranti principali. Trovare la messa a fuoco e ...

Caratteristiche della Canon EOS Digital Rebel XSi / 450D - manichini

Caratteristiche della Canon EOS Digital Rebel XSi / 450D - manichini

Le seguenti figure offrono una comoda guida ai pulsanti, ai quadranti e ad altre funzioni esterne della tua Canon EOS Digital Rebel XSi / 450D. Si noti che l'obiettivo mostrato è il modello Canon EF-S 18-55mm IS (Image Stabilization) venduto con XSi / 450D; altri obiettivi potrebbero non avere le stesse caratteristiche. Dal punto di vista del fotografo. Guardando verso il basso ...

Controlli esterni della fotocamera sulla Canon EOS Rebel T3 / 1100D - manichini

Controlli esterni della fotocamera sulla Canon EOS Rebel T3 / 1100D - manichini

Sparsi per l'esterno della tua Canon EOS Rebel T3 / 1100D sono un numero di pulsanti, quadranti e interruttori che usi per cambiare le impostazioni di ripresa delle foto, rivedere e modificare le tue foto ed eseguire varie altre operazioni. Ecco una introduzione di base ai controlli esterni. Controlli Topside sulla Canon EOS Rebel T3 / 1100D Il tour virtuale inizia ...