Condividi tramite


Elaborazione analitica online

L'elaborazione analitica online (OLAP) è una tecnologia che organizza database aziendali di grandi dimensioni per eseguire calcoli complessi e analisi delle tendenze. Questo metodo consente query complesse senza interrompere i sistemi transazionali.

Le transazioni e i record aziendali vengono archiviati in database noti come database OLTP (Online Transaction Processing), ottimizzati per le singole voci di record. Questi database contengono informazioni preziose, ma non sono progettate per l'analisi, quindi il recupero dei dati richiede molto tempo e risulta difficile.

Per risolvere questo problema, i sistemi OLAP estraggono in modo efficiente business intelligence dai dati. I database OLAP sono ottimizzati per attività di lettura e scrittura elevate. Sono modellati e puliti per un'analisi efficace. I database OLAP spesso mantengono i dati cronologici per l'analisi delle serie temporali.

I sistemi OLAP usano tradizionalmente cubi di dati multidimensionali per organizzare i dati in modo da supportare query e analisi complesse. Il diagramma seguente illustra un'architettura di sistema OLAP tradizionale.

Diagramma che mostra un'architettura logica OLAP tradizionale in Azure che usa Analysis Services.

Man mano che la tecnologia avanza e aumentano le scalabilità dei dati e dei calcoli, i sistemi OLAP passano a architetture MPP (Massively Parallel Processing) supportate da Microsoft Fabric . Per altre informazioni, vedere Archivio dati analitici dell'infrastruttura.

Il diagramma seguente illustra un'architettura di sistema OLAP moderna.

Diagramma che mostra un'architettura logica OLAP moderna in Azure che usa Fabric.

Modellazione semantica

Un modello di dati semantico è un modello concettuale che descrive il significato degli elementi di dati contenuti. Le organizzazioni hanno spesso termini propri per gli elementi e talvolta questi termini hanno sinonimi. Le organizzazioni potrebbero avere anche significati diversi per lo stesso termine. Ad esempio, un database di inventario potrebbe tenere traccia di un componente di apparecchiature usando un ID risorsa e un numero di serie. Tuttavia, un database di vendita potrebbe fare riferimento al numero di serie come ID risorsa. Non esiste un modo semplice per correlare questi valori senza un modello che descrive la relazione.

La modellazione semantica fornisce un livello di astrazione sullo schema del database in modo che gli utenti non debbano conoscere le strutture di dati sottostanti. Gli utenti finali possono eseguire facilmente query sui dati senza eseguire aggregazioni e join sullo schema sottostante. Le colonne vengono spesso rinominate in nomi più descrittivi per rendere più ovvio il contesto e il significato dei dati.

La modellazione semantica è predominante per gli scenari con utilizzo elevato di lettura, ad esempio analisi e business intelligence (OLAP), anziché per l'elaborazione di dati transazionali con un numero maggiore di operazioni di scrittura (OLTP). La modellazione semantica è adatta agli scenari con molti processi di lettura grazie alle caratteristiche di un tipico livello semantico.

  • I comportamenti di aggregazione vengono impostati in modo che gli strumenti di report li visualizzino correttamente.
  • Vengono definiti i calcoli e la logica di business.
  • Vengono inclusi calcoli basati sul tempo.
  • I dati sono spesso integrati da più origini.
  • Le analisi in tempo reale sono supportate.

Per questi motivi in genere il livello semantico è posizionato in un data warehouse.

Diagramma che mostra un livello semantico tra un data warehouse e uno strumento di reporting.

Esistono due tipi principali di modelli semantici:

  • I modelli tabulari usano costrutti di modellazione relazionale, ad esempio modelli, tabelle e colonne. Internamente, i metadati vengono ereditati dai costrutti di modellazione OLAP, ad esempio cubi, dimensioni e misure. Il codice e lo script usano metadati OLAP.

  • I modelli multidimensionali usano costrutti di modellazione OLAP tradizionali, ad esempio cubi, dimensioni e misure.

Analysis Services e Fabric forniscono l'infrastruttura e gli strumenti necessari per implementare in modo efficace la modellazione semantica.

Esempio di caso d'uso

Un'organizzazione archivia i dati in un database di grandi dimensioni. Vuole rendere questi dati disponibili agli utenti aziendali e ai clienti per creare report personalizzati ed eseguire analisi.

Possono concedere a tali utenti l'accesso diretto al database, ma questa opzione presenta svantaggi, tra cui la gestione della sicurezza e il controllo di accesso. Gli utenti potrebbero avere difficoltà a comprendere la progettazione del database, inclusi i nomi di tabelle e colonne. Questa opzione richiede agli utenti di conoscere le tabelle su cui eseguire query, il modo in cui queste tabelle devono essere unite in join e come applicare altre logiche di business per ottenere i risultati corretti. Gli utenti devono anche conoscere un linguaggio di query come SQL. In genere, questa opzione porta a più utenti che segnalano le stesse metriche, ma con risultati diversi.

Un'opzione migliore consiste nell'incapsulare tutte le informazioni necessarie agli utenti in un modello semantico. Gli utenti possono eseguire query più facilmente sul modello semantico usando uno strumento di reportistica di propria scelta. I dati forniti dal modello semantico provengono da un data warehouse, che garantisce che tutti gli utenti visualizzino una singola origine di verità. Il modello semantico fornisce anche nomi di tabella e colonna descrittivi, definisce le relazioni tra tabelle, include descrizioni e calcoli e applica la sicurezza a livello di riga.

Caratteristiche tipiche della modellazione semantica

La modellazione semantica e l'elaborazione analitica tendono ad avere i tratti seguenti.

Requisito Descrizione
Diagramma Schema durante la scrittura, fortemente applicato
Uso delle transazioni NO
Strategia di blocco Nessuno
Aggiornabile No, in genere richiede il ricalcolo del cubo
Accodamento No, in genere richiede il ricalcolo del cubo
Carico di lavoro Operazioni di lettura intense, sola lettura
Indicizzazione Indicizzazione multidimensionale
Dimensioni dati Dimensioni da piccole a grandi dimensioni
Modello Tabulare o multidimensionale
Forma dei dati Step 2: Schema a cubo, a stella, o a fiocco di neve
Flessibilità delle query Flessibilità elevata
Scala Grandi, da centinaia di gigabyte (GB) a diversi petabyte (PB)

Quando usare questa soluzione

Prendere in considerazione l'uso di OLAP per gli scenari seguenti:

  • Bisogna eseguire con rapidità query complesse, analitiche e on-demand, senza influire negativamente sui sistemi OLTP.

  • Si vuole offrire agli utenti aziendali un modo semplice per generare report dai dati.

  • Si vogliono fornire diverse aggregazioni che consentono agli utenti di ottenere risultati rapidi e coerenti.

OLAP è particolarmente utile per applicare calcoli di aggregazione a grandi quantità di dati. I sistemi OLAP sono ottimizzati per scenari con utilizzo elevato di lettura. OLAP consente inoltre agli utenti di segmentare i dati multidimensionali in sezioni che possono visualizzare in due dimensioni, ad esempio una tabella pivot. Oppure possono filtrare i dati in base a valori specifici. Gli utenti possono eseguire questi processi, noti come analisi e suddivisione dei dati, indipendentemente dal fatto che i dati siano partizionati in più origini dati. Gli utenti possono esplorare facilmente i dati senza conoscere i dettagli dell'analisi dei dati tradizionale.

I modelli semantici consentono agli utenti aziendali di identificare relazioni complesse tra i dati ed eseguirne l'analisi più rapidamente.

Sfide

I sistemi OLAP generano anche sfide:

  • Le transazioni che passano da varie origini aggiornano costantemente i dati nei sistemi OLTP. Gli archivi dati OLAP vengono in genere aggiornati a intervalli molto più lenti, a seconda delle esigenze aziendali. I sistemi OLAP soddisfano decisioni aziendali strategiche, anziché risposte immediate ai cambiamenti. È inoltre necessario pianificare un certo livello di pulizia e orchestrazione dei dati per mantenere gli archivi dati OLAP up-to-date.

  • A differenza delle tabelle relazionali normalizzate nei sistemi OLTP, i modelli di dati OLAP tendono a essere multidimensionali. Pertanto, è difficile o impossibile eseguirne direttamente il mapping a modelli di relazione di entità o orientati a oggetti, in cui ogni attributo corrisponde a una colonna. I sistemi OLAP usano in genere uno schema star o snowflake anziché la normalizzazione tradizionale.

OLAP in Azure

In Azure, i dati nei sistemi OLTP, ad esempio il database SQL di Azure, sono copiati in sistemi OLAP come Fabric o Analysis Services. Gli strumenti di esplorazione e visualizzazione dei dati, ad esempio Power BI, Excel e non Microsoft, si connettono ai server Analysis Services e forniscono agli utenti informazioni estremamente interattive e visivamente avanzate sui dati modellati. È possibile usare SQL Server Integration Services per orchestrare il flusso di dati dai sistemi OLTP ai sistemi OLAP. Per implementare SQL Server Integration Services, usare Azure Data Factory.

Gli archivi dati di Azure seguenti soddisfano i requisiti di base per OLAP:

SQL Server Analysis Services offre funzionalità di data mining e OLAP per applicazioni di business intelligence. È possibile installare SQL Server Analysis Services nei server locali o ospitarlo all'interno di una macchina virtuale (VM) in Azure. Analysis Services è un servizio completamente gestito che fornisce le stesse funzionalità principali di SQL Server Analysis Services. Analysis Services supporta la connessione a varie origini dati nel cloud e in locale nell'organizzazione.

Gli indici columnstore cluster sono disponibili in SQL Server 2014 e versioni successive e nel database SQL. Questi indici sono ideali per i carichi di lavoro OLAP. A partire da SQL Server 2016, incluso il database SQL, è possibile sfruttare i vantaggi dell'elaborazione transazionale e analitica ibrida tramite indici columnstore non cluster aggiornabili. Usare HTAP per eseguire l'elaborazione OLTP e OLAP nella stessa piattaforma. Questo approccio elimina la necessità di più copie dei dati e di sistemi OLTP e OLAP separati. Per altre informazioni, vedere Columnstore per l'analisi operativa in tempo reale.

Criteri di scelta principali

Per restringere le scelte, rispondere alle domande seguenti:

  • Si vuole un servizio gestito anziché gestire i propri server?

  • È necessario l'ID Microsoft Entra per l'autenticazione sicura?

  • È necessario integrare i dati da diverse origini, oltre all'archivio dati OLTP?

  • Si vuole eseguire analisi in tempo reale?

    Fabric Real-Time Intelligence è un servizio potente all'interno di Fabric che è possibile usare per estrarre informazioni dettagliate e visualizzare i dati in movimento. Offre una soluzione end-to-end per scenari basati su eventi, dati di streaming e log di dati. Indipendentemente dal fatto che si gestiscono GB o PB di dati, tutti i dati dell'organizzazione in movimento convergeranno nell'hub Real-Time.

  • È necessario usare dati preaggregati, ad esempio per fornire modelli semantici che semplificano l'analisi per gli utenti aziendali?

    In caso affermativo, scegliere un'opzione con il supporto per cubi multidimensionali o modelli semantici tabulari.

    Fornire aggregazioni per consentire agli utenti di calcolare in modo coerente le aggregazioni dei dati. I dati preaggregati possono anche offrire un notevole miglioramento delle prestazioni se sono presenti diverse colonne in più righe. È possibile preaggregare i dati in cubi multidimensionali o modelli semantici tabulari.

Matrice di funzionalità

Le tabelle seguenti riepilogano le principali differenze nelle funzionalità tra questi servizi:

  • Tessuto
  • Servizi di analisi
  • SQL Server Analysis Services
  • SQL Server con indici columnstore
  • Database SQL con indici columnstore

Funzionalità generali

Capacità Tessuto Servizi di analisi SQL Server Analysis Services SQL Server con indici columnstore Database SQL con indici columnstore
Servizio gestito NO NO
MPP NO NO NO NO
Supporto per i cubi multidimensionali NO NO NO NO
Supporto per i modelli semantici tabulari NO NO
Integra facilmente più origini dati No 1 No 1
Supporto per l'analisi in tempo reale NO NO
Richiede un processo per copiare dati da origini Facoltativo 3 NO NO
Integrazione di Microsoft Entra NO Nessun 2

[1] SQL Server e il database SQL non possono eseguire query da e integrare più origini dati esterne, ma è possibile creare una pipeline per eseguire queste funzioni usando SQL Server Integration Services o Azure Data Factory. SQL Server ospitato in macchine virtuali di Azure include altre opzioni, ad esempio server collegati e PolyBase. Per altre informazioni, vedere Scegliere una tecnologia di orchestrazione della pipeline di dati.

[2] Un account Microsoft Entra non supporta la connessione a SQL Server ospitato in macchine virtuali di Azure. Usare invece un account di Windows Server Active Directory di dominio.

[3] Fabric offre la flessibilità necessaria per integrare le origini dati spostando i dati in OneLake tramite pipeline di Azure Data Factory o mirroring. È anche possibile creare collegamenti o eseguire analisi in tempo reale sui flussi di dati senza spostare i dati.

Funzionalità di scalabilità

Capacità Tessuto Servizi di analisi SQL Server Analysis Services SQL Server con indici columnstore Database SQL con indici columnstore
Server regionali ridondanti per disponibilità elevata NO
Supporto per la scalabilità orizzontale delle query NO
Scalabilità dinamica, scalabilità verso l'alto NO

Passaggi successivi