Introduzione alla famiglia di colonne con Cassandra



Questo blog evidenzia l'importanza della famiglia di colonne con Cassandra

Famiglia di colonne

Una famiglia di colonne è simile a una tabella in RDBMS o Relational Database Management System ed è una divisione logica che associa dati simili. In sostanza, in dati simili si tende a memorizzare alcuni tipi di dati che sono di soggetti simili.

Ad esempio, i dati di un ordine vengono memorizzati in una singola famiglia di colonne in modo che tu possa avere un ID ordine come chiave di riga e varie colonne come il tipo di prodotto è stato portato come parte di quell'ordine per essere memorizzate nella particolare famiglia di ordini . Per fornire alcuni esempi, una famiglia di colonne utente è costituita da un ID utente come chiave. Pertanto, si è liberi di scegliere un ID e le colonne possono essere 'nome = Kunal'. E i valori della colonna sono Kunal e Bangalore. Esiste una seconda famiglia di colonne chiamata Famiglia di colonne Cricketer che consente di memorizzare le statistiche dei giocatori di cricket in una famiglia di colonne. Ad esempio, puoi avere Sachin Tendulkar in una colonna e il numero di secoli in un'altra. Quindi, può esserci un numero qualsiasi di colonne.





Tipi di colonne

La famiglia di colonne non è altro che una tabella che è analoga a una tabella in un mondo RDBMS. Ci sono alcuni tipi di esso, vale a dire

Famiglia di colonne statiche - La famiglia di colonne statiche è il luogo in cui vengono definiti i nomi e i tipi di dati. Pertanto, quando viene creata la famiglia di colonne, è disponibile l'opzione per denominare il nome della colonna e i tipi di dati. Si chiama statico perché le colonne rimangono statiche e il numero di colonne disponibili sarà noto.



Famiglia di colonne dinamiche - Una famiglia di colonne dinamiche d'altra parte non definisce i nomi delle colonne in primo piano e la capacità di Cassandra di utilizzare applicazioni arbitrarie e nomi di colonne per memorizzare i dati è disponibile. Così dinamico aiuta in un certo senso perché in un dato non strutturato, il più delle volte, la famiglia di colonne dinamiche aiuta a prendersi cura di nuovi campi che potrebbero essere stati aggiunti in seguito.

Se si dispone di una famiglia di colonne statiche e si desidera aggiungere una famiglia di colonne dinamiche nel codice durante il caricamento dei dati, è possibile aggiungerla a una famiglia di colonne statiche in qualsiasi momento. Cassandra dà la libertà di scegliere i nomi delle colonne.

Differenza con RDBMS

La famiglia di colonne Cassandra è priva di schemi ed è molto scalabile. La famiglia di colonne Cassandra ha due attributi: Nome e Comparatore. Quindi, quando si dispone di una famiglia di colonne Cassandra, assegnarle un nome diventa obbligatorio e Comparator è fondamentalmente un tipo di dati per i nomi di colonna. Se non specifichi il comparatore, si presume che sia un comparatore predefinito.



differenze tra hashmap e hashtable

Cassandra ha anche una colonna di famiglie di super colonne. Utilizzerà internamente una super colonna. È un raggruppamento logico e un altro livello di raggruppamento di colonne. Pertanto, in una famiglia di colonne utente, puoi avere due super colonne in cui possiamo avere le informazioni personali degli utenti e le informazioni sui prodotti.

Colonne

Una colonna è il più piccolo incremento di dati in Cassandra. Ha 3 componenti:

  • Nome
  • Valore
  • Timestamp - Utilizzato nella risoluzione dei conflitti e il timestamp non può essere modificato. È un meccanismo interno per vedere quando questi dati o questa colonna sono stati aggiornati.
  • Colonne in scadenza - È possibile assegnare una data di scadenza a una colonna per sapere che la colonna scadrà.
  • Colonne contatore - Le colonne del contatore non sono altro che mantenere le colonne in modo da poter aumentare e diminuire quelle colonne del contatore.

Super colonne

Super Columns raggruppa tutte le colonne in base alle esigenze aziendali e al raggruppamento logico. Aggiunge un altro livello di nidificazione alla normale struttura della famiglia di colonne. Comprendono una struttura familiare di super colonne.

Il caso principale per le super colonne consiste nel denormalizzare più righe da altre famiglie di colonne in una singola riga, consentendo il recupero dei dati della vista materializzata.

Casi d'uso

Limitazioni delle super colonne

Una limitazione è che tutte le sottocolonne di una famiglia di supercolonne devono essere deserializzate per leggere una singola famiglia di sottocolonne. Un'altra limitazione è che non possiamo creare indici secondari sulle sottocolonne di una super colonna.

Tipi di dati della colonna

Tipi di dati delle colonne

la stringa è mutabile o immutabile in java

Nell'immagine sopra, ci sono diversi tipi di dati. Il tipo di dati per un valore di colonna è chiamato validatore. E il comparatore è il tipo di dati per una colonna. Il nome e l'indirizzo diventano un nome di colonna. Quindi puoi avere una data in caso di nomi di colonne. È inoltre possibile disporre di dati di una serie temporale utilizzando la data come nome di colonna.

Righe

Possono esserci righe larghe e diverse righe. Possono essere disponibili milioni di colonne e righe.

Le righe magre hanno un numero limitato di colonne che hanno la possibilità di avere solo righe limitate.

Chiave composita

Consiste di uno o più campi chiave primaria. Supponiamo che il nome di una città sia impostato come chiave di riga, potrebbe esserci una città denominata in due stati diversi, quindi dovrai menzionare quale città e quale stato. Questo significa semplicemente che la chiave deve essere dichiarata. Invece di avere una semplice chiave di colonna di un tipo, puoi aggregare diversi valori chiamati anche componenti di diversi tipi per formare un'unica chiave di colonna.

Hai domande per noi? Menzionateli nella sezione commenti e vi risponderemo.

power bi vs tableau 2016

Post correlati:

Introduzione a Snitches in Cassandra