Database NoSQL | Tipi di database NoSQL

Contenuti

Mio padre è sempre titubante quando effettua transazioni costose online. Ha sempre paura che la macchina commetta un errore. Immagina di trasferire tutte le tue risorse finanziarie da un conto all'altro e, a causa di qualche errore di dati, viene trasferito sull'account di qualcun altro. tuttavia, no dudo ni un segundo en realizar cualquier tipo de transazione in linea. Cosa ha fatto una così grande differenza nelle nostre percezioni? Probabilmente il motivo è l'elevata precisione in tali transazioni a cui ho assistito sin dalla mia tenera età. Cosa rende queste miriadi di transazioni effettuate nelle banche, con le compagnie aeree, con l'e-commerce sono altrettanto precisi?

En gran misura, questo è dovuto a RDBMS, che aderisce rigorosamente ai principi ACID (atomicità, consistenza, isolamento e durata). Ma nel tempo a causa dell'elevata pressione dei dati in crescita, abbiamo iniziato a utilizzare i database NoSQL. NoSQL elimina la necessità di uno schema, così, empuja la capacidad de manejo de datos por un gran margen al comprometer el ACID. tuttavia, con precise applicazioni di supporto implementate, NoSQL offre una buona combinazione di elevate capacità di gestione dei dati con una buona precisione. In questo articolo discuteremo dei popolari database NoSQL.no-sql-7734706

Credito immagine: http://www.tomsitpro.com

Modulo completo NoSQL?

NoSQL in realtà non ha una forma completa e nemmeno un significato reale. Il termine è stato coniato accidentalmente a un evento da Johan Oskarsson per discutere della rete distribuita open source.. Il "#NoSQL" era solo un hashtag di Twitter per ospitare questo incontro. Dopo, algunas personas de la Banca dati en esta reunión encontraron este hashtag apropiado para nombrar estas bases de datos no relacionales. Non abbiamo una definizione rigorosa per NoSQL. tuttavia, Ecco alcune caratteristiche comuni dei database NoSQL:

1. Non sono relazionali

2. Principalmente open source

3. Tutti sono adatti per i cluster

4. Sono meno schemi

5. Sono emersi dal mondo web del 21° secolo.

tuttavia, spesso ci riferiamo a NoSQL come senza schema, questo non significa che questi database non aderiscano a nessun tipo di schema. Ad esempio, considera la seguente espressione NoSQL:

Tab1["Reddito" ] * Tab1["Conteggio totale"]

NoSQL ha uno schema implicito, che potrebbe non essere costante in tutto il database. Una cosa del genere è sia una benedizione che una maledizione. La cosa fondamentale è che ogni volta che vogliamo modificare un campo dobbiamo capire questo schema implicito. La cosa buona è che con uno schema che cambia, è richiesto molto meno sforzo per aggiungere questo database rispetto a RDBMS. Cosa c'è di più, RDBMS non è eccezionale con una rete distribuita, cosa non è il caso di NoSQL?.

Tipi di database NoSQL

tuttavia, in letteratura NoSQL è stato suddiviso in 4 tipi principali, Ho trovato un modo molto interessante suggerito da Martin Fowler per classificare NoSQL. Basato sul modo in cui NoSQL memorizza i dati, È principalmente di due tipi:

1. Database aggiunto

2. Database basato su grafici

La principale differenza tra i due è quella nel tipo aggregato, il database cerca di memorizzare tutte le informazioni per un particolare id (può essere una persona, una transazione o un prodotto, eccetera.) come un unico oggetto. Mentre il tipo di grafico segue la filosofia esattamente opposta. Il database grafico cerca di tagliare i dati in informazioni molto granulari e li memorizza con tutte le relazioni o bordi condivisi. Discuteremo i database aggiunti, che sono più comuni oggi, in questo articolo.

Database aggregati

Facciamo un esempio per capire questo concetto di database aggregato. Ecco come appare un articolo su analyticsvidhya:

articolo-7605086Se stessimo usando RDBMS per archiviare i nostri dati per DataPeaker, avremmo creato tabelle relazionali. Uno può essere per informazioni relative all'autore, un altro può riguardare le informazioni relative all'articolo e un altro può corrispondere a ciascuna categoria. Ma quando apriamo un articolo, abbiamo bisogno di tutte queste informazioni insieme. Perciò, siamo più interessati alle informazioni aggregate che alle informazioni così granulari. tuttavia, informazioni granulari avrebbero potuto darmi un ambito di analisi migliore, quindi potresti essere più interessato a ridurre al minimo il tempo di caricamento della pagina web. Perciò, abbiamo bisogno di un database in cui tutte queste informazioni siano archiviate in un unico posto. Questi possono essere chiamati database orientati agli aggregati.

Database di valori chiave / Database di documenti :

I database di valori chiave e i database di documenti sono molto simili. Puoi pensare ai database di documenti come a una forma nidificata di database di valori chiave. Prossimo, viene visualizzato un semplice database di valori-chiave:

valore-chiave-7131426

Credito immagine: http://nosql.rishabhagrawal.com

Ora, se voglio avere informazioni su un Ipod da 16 GB, Ho solo bisogno di fornire il KET “13a2” al database. Ecco come sarà un database di documenti:

documento-2985559

Tieni presente che in ogni documento abbiamo informazioni aggregate su tale identificazione. Collegalo al nostro esempio di analyticsvidhya. Nel nostro caso, avremo tutto il nome dell'autore, nome del titolo, eccetera. come coppie chiave-valore in ogni documento. Ora posso estrarre l'intero documento in una volta, poiché è memorizzato nello stesso oggetto.

Database orientati alle colonne :

Supponiamo di avere una tabella degli ordini RDBMS con 1 milioni di righe e 100 colonne. Ora vuoi estrarre tutti i nomi dei clienti con ordini superiori a $ 500. Fondamentalmente, bisogno di un comando in sole due colonne, ma per fare questa query, essenzialmente dovrai navigare nel 100 colonne. I database orientati alle colonne forniscono una soluzione a questo problema. Una discussione dettagliata di questo tipo di database esula dallo scopo di questo articolo., ma quello che devi capire è solo il concetto di fondo. Ecco un semplice esempio di database orientato a righe e colonne:

database-orientato-colonna-4565628

Credito immagine: www.timestored.com

Il database orientato alle colonne memorizza ogni colonna in una posizione separata, che ci permette di raggiungere solo quelle colonne che ci sono necessarie. Questo rende le query molto più veloci nelle operazioni di ricerca e filtro.

Note finali

I database NoSQL stanno spingendo i nostri limiti per l'archiviazione e l'analisi dei dati. Con tali strutture senza schema, ci permettono anche di cambiare le variabili / attributi in qualsiasi momento. Sono eccezionalmente veloci per eseguire query su queste entità aggregate. tuttavia, questa dichiarazione viene fornita con un titolo che nel caso in cui l'operazione non debba essere eseguita a livello aggregato della tabella, diventa più complicato rispetto a RDBMS. Ad esempio, se abbiamo i dati memorizzati per ogni ordine nel database NoSQL aggregato. Qualsiasi richiesta relativa a questi ID ordine sarà eccezionalmente rapida. Ma se hai bisogno di informazioni a livello di cliente o prodotto, queste tabelle potrebbero non essere molto efficienti. Per tali processi, necesitará escribir consultas de Riduci mappa. Perciò, tutto dipende dal tipo di utilizzo su quale database si adatta meglio a te.

L'articolo ti è stato utile?? Condividi con noi le tue esperienze con diversi tipi di database NoSQL. Fateci sapere i vostri pensieri su questo articolo nella casella sottostante..

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.