Video: L18 - PowerBI Calcoli ne Lineari ne Colonnari 2024
Gli archivi di colonne in NoSQL sono simili alla prima apparizione al DBMS relazionale tradizionale. I concetti di righe e colonne sono ancora lì. Si definiscono anche le famiglie di colonne prima di caricare i dati nel database, il che significa che la struttura dei dati deve essere conosciuta in anticipo.
Tuttavia, i magazzini di colonne organizzano i dati in modo diverso rispetto ai database relazionali. Anziché archiviare dati in una riga per un accesso rapido, i dati sono organizzati per operazioni rapide su colonne. Questa vista incentrata sulle colonne rende gli archivi di colonne ideali per l'esecuzione di funzioni aggregate o per la ricerca di record che corrispondono a più colonne.
Le funzioni aggregate sono combinazioni di dati o funzioni di analisi. Possono essere semplici come contare il numero di risultati, sommarli o calcolarne la media. Potrebbero essere più complessi, ad esempio, restituendo un valore complesso che descrive un intervallo di tempo complessivo.
I negozi di colonne sono a volte indicati come Big Table o cloni di Big Table, che riflettono il loro antenato comune, Google's Bigtable.
Forse la differenza chiave tra i magazzini di colonne e un RDBMS tradizionale è che, in un archivio di colonne, ogni record (si pensi riga in un RDBMS) non richiede un singolo valore per colonna Invece, è possibile modellare famiglie di colonne. Un singolo record può essere costituito da un campo ID, una famiglia di colonne per le informazioni "cliente" e un'altra famiglia di colonne per le informazioni "elemento dell'ordine".
Ciascuna di queste famiglie di colonne è composta da diversi campi. Una di queste famiglie di colonne può avere più "righe" a sé stanti. Le informazioni sugli articoli dell'ordine, ad esempio, hanno più righe, una per ogni elemento pubblicitario. Queste righe conterranno dati come ID articolo, quantità e prezzo unitario.
Un vantaggio chiave di un archivio di colonne su un RDBMS è che gli archivi di colonne non richiedono che i campi siano sempre presenti e non richiedono un valore vuoto di riempimento vuoto come un RDBMS. Questa funzione impedisce il problema dei dati sparsi, preservando lo spazio su disco. Qui viene mostrato un esempio di una serie di dati variabile e sparsa.
Il bello degli archivi di colonne è che è possibile recuperare tutte le informazioni correlate utilizzando un unico ID di record, piuttosto che utilizzare l'unione complessa di SQL (Structured Query Language) come in un RDBMS. Fare ciò richiede tuttavia una modesta modellizzazione e analisi dei dati.
Nell'esempio mostrato, è possibile recuperare tutte le informazioni sugli ordini selezionando una riga di archivio a colonna singola, il che significa che lo sviluppatore non deve essere a conoscenza dell'esatta sintassi complessa del join di una query in un archivio colonne, diversamente da devono utilizzare complessi join SQL in un RDBMS.
Quindi, per strutture di dati relazionali complesse e variabili, un archivio di colonne può essere più efficiente nello storage e meno soggetto a errori di sviluppo rispetto ai suoi antenati RDBMS.
Si noti che, nella famiglia di colonne elemento , l'ID di ciascun articolo è rappresentato all'interno della chiave e il valore è la quantità ordinata. Questa configurazione consente una rapida ricerca di tutti gli ordini contenenti questo ID oggetto.
Se si conoscono i campi dati coinvolti in primo piano e si ha bisogno di recuperare rapidamente i dati correlati insieme come un singolo record, considerare un archivio di colonne.