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 2025

Video: How do I Enable Offline Support? | Get to Know Cloud Firestore #9 2025
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

Vantaggi di base della rete - manichini

Vantaggi di base della rete - manichini

Se la verità viene detta, le reti di computer sono un problema da impostare. Perché i vantaggi di avere una rete rendono la pena di crearne uno utile. Non è necessario essere un dottorato di ricerca per comprendere i vantaggi del networking. Le reti riguardano esclusivamente la condivisione. Nello specifico, le reti riguardano la condivisione di tre elementi: informazioni, risorse, ...

Biometria L'accettazione, la privacy e la legge - manichini

Biometria L'accettazione, la privacy e la legge - manichini

La tecnologia biometrica non è affatto universalmente accettata da tutti gli utenti. Ci sono una serie di considerazioni sociali e legali che danno ad ogni organizzazione una pausa prima di fare il salto a capofitto nell'implementazione di un sistema biometrico. Le persone sono più a loro agio con i sistemi di raccolta biometrici che sono i meno intrusivi. Scanner per retina e nasi elettronici sono ...

Biometria Nozioni di base - manichini

Biometria Nozioni di base - manichini

La biometria non è roba da fantascienza. Puoi trovare una dozzina di modi più o meno efficaci per utilizzare la biometria per identificare qualcuno, ognuno dei quali si divide in due classi: la biometria fisiologica misura una parte specifica della struttura o della forma di una porzione del corpo di un soggetto. La biometria comportamentale è più interessata a come ...

Scelta dell'editore

Come creare un nuovo dizionario personalizzato in Excel 2007 - dummies

Come creare un nuovo dizionario personalizzato in Excel 2007 - dummies

In Excel 2007, è possibile creare dizionari personalizzati da utilizzare quando si esegue il controllo ortografico dei fogli di lavoro. Utilizzare il pulsante Aggiungi al dizionario nella finestra di dialogo Controllo ortografico per aggiungere parole sconosciute a un dizionario personalizzato. Per impostazione predefinita, Excel aggiunge queste parole a un file dizionario personalizzato denominato CUSTOM. DIC, ma è possibile creare una nuova personalizzazione ...

Come creare un componente aggiuntivo da un file di cartella di lavoro Excel Excel normale in VBA - modi di dire

Come creare un componente aggiuntivo da un file di cartella di lavoro Excel Excel normale in VBA - modi di dire

Sebbene sia possibile convertire qualsiasi cartella di lavoro di Excel in un componente aggiuntivo, non tutte le cartelle di lavoro traggono vantaggio da questa conversione. Una cartella di lavoro senza macro rende un componente aggiuntivo inutile. In effetti, gli unici tipi di cartelle di lavoro che traggono vantaggio dall'essere convertiti in un componente aggiuntivo sono quelli con macro. Ad esempio, una cartella di lavoro costituita da macro generiche (Sub ...

Come creare una nuova cartella di lavoro in Excel 2010 - dummy

Come creare una nuova cartella di lavoro in Excel 2010 - dummy

Se si lavora in Microsoft Excel 2010 e vuoi iniziare a lavorare in un nuovo file di cartella di lavoro di Excel, puoi facilmente creare una nuova cartella di lavoro. Per fare ciò, puoi usare un comando nella scheda File o una scorciatoia da tastiera. Fare clic sulla scheda File. Excel visualizza la visualizzazione Backstage, in cui è possibile accedere ai comandi relativi ai file. ...

Scelta dell'editore

Usa lo strumento Gomma in Adobe Illustrator CS5 - manichini

Usa lo strumento Gomma in Adobe Illustrator CS5 - manichini

Adobe Illustrator Creative Suite 5 (Adobe CS5) Illustrator è utilizzato per rimuovere rapidamente aree di grafica con la stessa facilità con cui si cancellano i pixel in Photoshop, accarezzando con il mouse su qualsiasi forma o gruppo di forme. Facendo doppio clic sullo strumento Gomma, è possibile definire il diametro, l'angolo e la rotondità della gomma. Se stai usando un ...

Trasforma gli strumenti in Adobe Illustrator CS5 - dummies

Trasforma gli strumenti in Adobe Illustrator CS5 - dummies

I più popolari strumenti di trasformazione in Adobe Creative Suite 5 (Adobe CS5) Illustrator - Rifletti, scala, inclina, rimodella e Trasformazione libera: sono facili da usare e modificano rapidamente la tua illustrazione. Lo strumento Rifletti Niente è simmetrico, giusto? Forse no, ma gli oggetti non creati simmetricamente in Illustrator possono sembrare off-kilter. Utilizzando lo strumento Rifletti, si ...

Quando utilizzare Adobe CS5 Illustrator - dummies

Quando utilizzare Adobe CS5 Illustrator - dummies

Utilizzando Adobe Creative Suite 5 (Adobe CS5) Illustrator anziché Photoshop , ottieni diversi benefici. Potresti aver sentito che Illustrator è migliore per la grafica vettoriale, ma perché e che altro porta? Illustrator può salvare ed esportare immagini nella maggior parte dei formati di file. Scegliendo di salvare o esportare, è possibile creare un ...