Introduzione ai modelli di dati NoSQL

Prima di iniziare sui modelli di dati, capiamo prima cosa significa NoSQL. NoSQL non significa l'unico SQL, il che significa che recupereremo e memorizzeremo i dati da database non relazionali. Ora vediamo che modello di dati è? Un modello di dati definisce la struttura logica di DBMS. Ciò significa sostanzialmente che ci dice come i dati sono collegati tra loro, le relazioni tra le varie entità e come vengono elaborati. Le tecniche di modellizzazione dei dati sono diverse sia per i database relazionali che per quelli non relazionali. La differenza principale è che i modelli di dati NoSQL hanno query più specifiche dell'applicazione rispetto a SQL.

Sintassi con parametri

La sintassi per scrivere una query NoSQL è fornita con un esempio. In questo esempio, recupereremo il nome e l'età di tutti i dipendenti designati come Manager.

(
"object": "employee",
"q": (
"designation" : " Manager"
),
"fields": ("name", "age") )

Nell'esempio precedente abbiamo usato il modulo JSON per scrivere una parola chiave "oggetto" di query che viene utilizzata per assegnare un nome di tabella, la parola chiave "q" viene utilizzata come condizione WHERE. Nel nostro caso il punto in cui deve essere applicata una condizione sulla designazione poiché vogliamo solo dipendenti la cui designazione è il responsabile. La chiave "campo" sono i nomi delle colonne che vogliamo recuperare in base alla condizione in "q". Nel nostro caso, le colonne sono nome ed età.

La query NoSQL sopra se convertita in SQL apparirà come di seguito:

SELECT name, age
FROM employee
WHERE designation =' manager';

La query più breve che possiamo scrivere è una normale query di selezione in NoSQL è la seguente:

(
"object": "String",
"q": "Expression"
)

La query sopra è una normale query di selezione.

Tipi di modelli di dati NoSQL

Ora impariamo i diversi tipi di modelli di dati NoSQL.

In generale, ci sono quattro diversi tipi di modelli di dati in NoSQL. Sono i seguenti e ne discuteremo uno per uno.

  • Archivio valori-chiave
  • Negozio basato su documenti
  • Negozio basato su colonna
  • Negozio basato su grafici

Ora esaminiamoli uno per uno.

1. Store valori-chiave

  • Come suggerisce il nome, l'archivio valori-chiave utilizza semplicemente il valore-chiave per archiviare i dati nel database. La chiave nella coppia chiave-valore deve essere unica. Le regole impostate su quale può essere la lunghezza della chiave per la dimensione della chiave dipendono dal database al database. Ad esempio in Redis, la dimensione massima per Key è 512 MB. Anche la stringa vuota è una chiave valida.
  • La dimensione della chiave è importante qui in quanto una chiave lunga può causare problemi di prestazioni mentre una chiave troppo corta può causare problemi di leggibilità. Il valore nella coppia chiave-valore può essere qualsiasi cosa, da una stringa a un'immagine. Puoi anche specificare il tipo di dati del valore qui.
  • Il modello di database di valori-chiave può essere utile per l'archiviazione di dati su e-commerce come categorie di prodotti, dettagli del prodotto, ecc. Questi sono ampiamente utilizzati nell'analisi dei big data. Possiamo persino memorizzare URL completi in quanto il nome URL può essere la chiave e l'URL effettivo come valore. Esempi di database che applicano coppie chiave-valore sono il database Oracle NoSQL e Redis.

2. Negozio basato su documenti NoSQL

  • In questo tipo di database, il record e i dati ad esso associati sono memorizzati in un singolo documento. Quindi questo modello non è completamente destrutturato ma è una specie di dati semi-strutturati.
  • La differenza tra un documento e una coppia di valori chiave è che nella memorizzazione del tipo di documento è che in questo tipo viene fornito un tipo di codifica durante la memorizzazione dei dati nei documenti, può essere la codifica XML o la codifica JSON.
  • L'esempio seguente mostra un documento che può essere archiviato in un database di documenti ma con una codifica diversa. Diamo un'occhiata all'esempio XML.


Srikanth Engineer
Febuary

Srikanth Engineer
Febuary

  • La differenza tra database convenzionali e database basati su documenti è che i dati qui non sono archiviati in tabelle come i database convenzionali ma sono archiviati in documenti.
  • Gli esempi di database che utilizzano il modello di dati sopra riportato sono MongoDB e Couchbase. Questi tipi di database sono ampiamente utilizzati soprattutto nell'analisi dei big data.

3. Negozio basato su colonna

  • In questo tipo di database, l'attenzione è rivolta alle colonne anziché alle righe poiché i dati sono archiviati in colonne anziché in righe, come nel caso della maggior parte dei database relazionali. Poiché i dati sono archiviati in celle raggruppate in colonne, quindi tutta la lettura / scrittura viene eseguita utilizzando le colonne, non le righe.
  • La domanda interessante si pone è che perché utilizzare le colonne anziché le righe? La risposta a questa domanda è che quando si archiviano i dati in colonne è possibile eseguire una ricerca rapida e un recupero e un'aggregazione rapidi poiché memorizza tutte le celle di una colonna come una voce continua che consente quindi un accesso più rapido.
  • Ad esempio, se vogliamo interrogare i titoli di milioni di articoli, sarà facile entrare nel modello di dati basato su colonne poiché con una voce del disco otterremo facilmente i titoli dell'articolo mentre nei database relazionali deve superare in ogni posizione per ottenere i titoli. Esempi di database di negozi basati su colonne sono HBase, Big Table, Cassandra.

4. Negozio basato su grafici

  • Come suggerisce il nome, viene utilizzata la rappresentazione grafica anziché la rappresentazione di tabelle o colonne. La caratteristica importante di questo tipo di modello di dati è la presenza di nodi e bordi. I due nodi, ad esempio, sono collegati con alcune relazioni e la relazione qui è rappresentata da bordi.
  • Inoltre, è possibile trasformare in modo efficiente i dati da un modello a un altro utilizzando questo modello di dati NoSQL basato su grafico. Esistono due database basati su grafici comunemente utilizzati che sono InfoGrid e Infinite Graph. InfoGrid offre anche due tipi di database grafici come MeshBase e NetMeshbase che gli utenti possono scegliere in base ai requisiti dell'utente.

Conclusione

In questo articolo, abbiamo discusso del database NoSQL e di diversi tipi di modelli NoSQL e di questi modelli singolarmente. I diversi tipi di database disponibili in ciascun tipo di modello di dati. La popolarità del database NoSQL sta crescendo ogni giorno che passa a causa della sua velocità ed efficienza.

Articoli consigliati

Questa è una guida ai modelli di dati NoSQL. Qui discutiamo i tipi di modelli di dati NoSQL e la sintassi con parametri e spiegazioni. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più–

  1. Vantaggi di NoSQL
  2. MongoDB è NoSQL
  3. Che cos'è la tecnologia dei Big Data?
  4. Che cos'è Data Analytics