Terzo capitolo: la modellazione del dato
Siamo giunti al terzo ed ultimo capitolo del viaggio intrapreso insieme al dato; ora ci concentriamo sulla possibilità di sfruttare le funzionalità avanzate di modellazione attraverso l’accesso a servizi altamente performanti come Azure Analysis Services.
Cos’è Azure Analysis Services?
È un servizio di piattaforma distribuita (PaaS) completamente gestita che fornisce la possibilità di creare Data Models nel cloud e permette di usare funzionalità avanzate di modellazione per combinare dati da più origini eterogene On-Premises e Cloud, definire metriche e proteggere i dati in un singolo modello semantico di business intelligence semplice, affidabile ed intuitivo. Il Data Model consente agli utenti di eseguire in modo più semplice e rapido analisi di dati ad hoc usando strumenti come Power BI ed Excel velocizzando il processing dei dati con fast in-memory cache.
Attraverso modelli di Azure Resource Manager e PowerShell è possibile creare in pochi minuti un server tramite Azure Automation, distribuendo risorse da vari server o Componenti Azure, integrando pipeline di Azure Data Factory con attività di load nel modello e renderlo sicuro attraverso l’integrazione con Azure Active Directory che offre accessi Role-based sicuri.
Come Funziona?
I modelli Tabular sono database con costrutti di modellazione relazionale (modello, tabelle, colonne) articolati in Tabular metadata object definitions in codice TMSL (Tabular Model Scripting Language) e TOM (Tabular Object Model).
La piattaforma consente di connettersi a diverse fonti dato, definire per esse un modello relazionale e svilupparci partizioni, prospettive, Row-level security, relazioni bidirezionali e traduzioni.
Per fare questo, la piattaforma fa uso i funzionalità di modellazione di dati avanzate come tabelle e colonne calcolate e funzionalità DAX, oltre che consentire il partizionamento dei dati per l’abilitazione di carichi incrementali e la parallelizzazione per ridurre l’utilizzo della memoria.
Con Azure Analysis Services, essendo integrato con le metriche di Monitoraggio di Azure, è possibile utilizzare inoltre un numero elevato di metriche specifiche delle risorse, che consentono di monitorare le prestazioni e l’integrità dei server.
Modalità di Storage dei Dati
I modelli Tabular sono supportati in entrambe le modalità In-Memory e DirectQuery.
IN-MEMORY MODE
I modelli Tabular nella modalità in memoria supportano l’utilizzo simultaneo di più origini dati. Poiché i dati del modello sono estremamente compressi e memorizzati nella cache in memoria, questa modalità offre tempi di risposta alle query molto più veloci, anche per grandi quantità di dati. Offre anche la massima flessibilità per query a datasets complessi.
I modelli iIn-Memory devono essere elaborati costantemente per aggiornare i dati memorizzati nella cache dalle data Source. Con il supporto dell’entità servizio di Azure, le operazioni di aggiornamento automatico tramite PowerShell, TOM, TMSL e REST offrono la flessibilità necessaria per assicurare che i dati del modello siano sempre aggiornati.
DIRECTQUERY MODE
La modalità DirectQuery sfrutta il database relazionale back-end per l’archiviazione e l’esecuzione di query. A differenza della controparte In-Memory, i set di dati back-end possono superare la memoria delle risorse del server disponibile. Con DirectQuery i dati saranno sempre aggiornati: poiché i dati vengono sempre sottoposti a query nell’origine dati, le applicazioni di Reporting client ricevono sempre i dati più recenti, non richiedendo quindi alcuna elaborazione (aggiornamento) dei dati del modello. Le modifiche ai dati di origine verranno quindi immediatamente riflesse nelle query sul modello di dati. A livello di performances, DirectQuery può sfruttare l’accelerazione delle query lato provider, ad esempio quella fornita dagli indici delle colonne ottimizzate per la memoria. Inoltre, se il modello contiene formule complesse che potrebbero richiedere più query, Analysis Services consente di eseguire l’ottimizzazione per garantire che la query eseguita sul database back-end sia il più efficiente possibile.
Esistono anche alcune restrizioni su determinati tipi di data Source, su alcune formule DAX e alcune funzionalità avanzate di modellazione di dati non supportate.
Gestione delle Sicurezze
Azure Analysis Services usa Azure Active Directory (Azure AD) per la gestione delle identità e l’autenticazione degli utenti. Qualsiasi utente che crea, gestisce o si connette a un server Azure Analysis Services deve disporre di un’identità utente valida in un tenant di Azure AD nella stessa sottoscrizione. A livello di server, inoltre, Analysis Services fornisce firewall, ruoli di amministratore del server e crittografia (lato server).
Per quanto riguarda la sicurezza per i dati sensibili AAS offre soluzioni a più livelli.
- Livello Basic: Essendo un servizio di Azure, Analysis Services prevede che il livello Basic degli attacchi Distributed Denial of Service (DDoS) sia automaticamente abilitato come parte della piattaforma Azure: Azure Analysis Services usa Archiviazione BLOB di Azure per rendere persistenti i metadati e la risorsa di archiviazione per i database di Analysis Services. I file di dati nel BLOB vengono crittografati con la crittografia lato server BLOB di Azure. Quando si usa la modalità di DirectQuery, vengono archiviati solo i metadati mentre l’accesso ai dati effettivi viene eseguito tramite il protocollo crittografato dall’origine dati in fase di query.
- Ruoli: Analysis Services usa l’autorizzazione basata sui ruoli che concede l’accesso al server e alle operazioni, agli oggetti e ai dati del database.
- Row-level security: La sicurezza a livello di riga viene configurata nel modello usando le espressioni DAX che definiscono le righe in una tabella ed eventuali righe nelle diverse direzioni relazionali di una tabella correlata su cui un utente può eseguire query.
- Object-level-security: I modelli tabulari al livello di compatibilità 1400 supportano la sicurezza a livello di oggetto, che include la sicurezza a livello di tabella e la sicurezza a livello di colonna. La sicurezza a livello di oggetto viene impostata nei metadati basati su JSON nel file Model.bim usando TMSL o TOM.
Fruizione delle informazioni
Manca l’ultimo passaggio, ma non meno importante. Come possiamo visualizzare il dato e sfruttare le informazioni che ci riporta? Risponderemo a questa domanda all’interno dell’evento SPECIAL EVENT & LIVE DEMO Power BI organizzato per il giorno 3 dicembre 2020 alle ore 10.00.
In quell’occasione ci concentreremo sulle soluzioni di business analytics beanTech raccontando la nostra esperienza e quella di un caso di successo, Pratic F.lli Orioli SpA.
Iscriviti ora!