Video: EP56 Archiviare i dati [Popolare database] con il registratore di macro di excel 2024
La maggior parte dei gestori di database relazionali sono stati creati su un gestore di archiviazione orizzontale , che colloca tutti i dati in un database per riga (o record) quando si verifica una transazione. Una tabella di database è rappresentata come una catena di pagine di database che contengono una o più righe di dati.
Un gestore di archiviazione orizzontale fornisce un supporto OLTP (Online Transaction Processing) veloce perché la maggior parte delle transazioni si verificano in un formato record, ad esempio inserendo una voce di contabilità generale o scrivendo un assegno. Tuttavia, quando un utente richiede un record, la pagina del database che contiene i dati viene spesso spostata nella memoria, che per le applicazioni di business intelligence è altamente inefficiente.
Nel corso degli anni sono emersi diversi prodotti di database specializzati progettati per assistere e ottimizzare le applicazioni incentrate sulle query, come la business intelligence. Tali prodotti consentono di sviluppare più facilmente magazzini di dati interattivi. L'obiettivo di questi database basati su colonne è aumentare la velocità delle query di supporto decisionale eseguite su grandi quantità di dati.
Quando viene chiesto agli amministratori di database se inserirebbero mai un indice su una colonna che contiene il prefisso di una persona, la media dei voti di uno studente o le transazioni totali di un cliente, rispondono con un clamoroso, "No! "Di solito danno questa risposta irremovibile per motivi basati sulla tecnologia, come ad esempio:
-
Indice basato solo su percorsi standard noti (come il nome) a causa del sovraccarico degli indici.
-
La cardinalità , o l'occorrenza unica di dati, costringerebbe il database a eseguire comunque una scansione della tabella.
Tuttavia, quando chiedi agli utenti quali informazioni hanno bisogno per adempiere alle loro responsabilità lavorative, rispondono con questi tipi di requisiti:
-
Visualizza il numero di persone per codice area nel mio territorio in modo da poter gestire in modo più efficace le mie promozioni.
-
Identifica gli studenti migliori nella classe di laurea in modo da poter organizzare le interviste appropriate.
-
Scopri quali clienti intrattengono rapporti commerciali con la mia azienda e spendi tra $ 100.000 e $ 500.000 all'anno.
Ognuno di questi tre requisiti caratterizza una richiesta utente diversa, ma tutti svolgono funzioni simili: si tratta di query orientate al supporto decisionale. La necessità di accedere ai dati guida i requisiti di informazione degli utenti, ma i modelli di accesso degli utenti non sono compatibili con la maggior parte delle strategie di indicizzazione RDBMS. In breve, la tecnologia RDBMS ostacola il successo delle applicazioni.
Una tabella di database è rappresentata come una catena di pagine di database che contengono una o più righe di dati, come mostrato in questa figura.Un gestore di archiviazione orizzontale offre un supporto OLTP (Online Transaction Processing) rapido poiché la maggior parte delle transazioni si verifica in un formato record.
Questi database relazionali supportano l'attività di query utilizzando gli indici. Gli indici sono costruiti in cima alle righe per semplificare e accelerare il recupero dei dati su percorsi comuni, come mostrato nella figura.
Le soluzioni di data warehousing, come la business intelligence, non utilizzano molte di queste tecniche di indicizzazione perché sono state create per assistere le applicazioni OLTP nella frequente necessità di trovare e aggiornare singole righe all'interno delle tabelle del database.
Per supportare correttamente le query utente tipiche rilevate in business intelligence, sono necessarie altre tecniche di archiviazione e indicizzazione. Fornitori come Sybase e Vertica hanno creato gestori di archivi verticali. Invece di memorizzare i dati per riga, questi prodotti memorizzano i dati per colonne, da cui il nome gestore di archiviazione verticale o archiviazione in base alla colonna.
Questo metodo di archiviazione risolve efficacemente il problema delle query utente rispetto a grandi insiemi di dati perché un utente cerca spesso solo poche colonne, rispetto al gran numero di colonne gestite in una riga da un gestore di archiviazione orizzontale. Con i dati memorizzati come una serie di modifiche alla pagina, con ogni pagina contenente i dati della colonna, il tempo di elaborazione della query viene ridotto di un fattore di 500 o più a 1.
Inoltre, questi prodotti supportano altre ottimizzazioni che aiutano la velocità della query elaborazione, compresa la compressione dei dati, operazioni di query parallele e tecniche di indicizzazione multiple per colonna. La sfida nell'attuazione di tali tecnologie implica la standardizzazione. Pertanto, molti dipartimenti di gestione dei dati si rifiutano di implementare tali tecnologie perché tali tecnologie richiedono ulteriore lavoro di supporto.