• Non ci sono risultati.

3.3 Qlik Sense

3.3.2 Qlik IndeXing Engine (QIX Engine)

La necessit`a di rispondere a numerose business question e analizzare un’elevata quantit`a di dati richiede uno strumento capace di superare la semplice presentazione visiva delle informazioni. E indispensabile,` quindi, un componente in grado di rivelare le associazioni nascoste e di esplorare, tramite selezioni interattive, grandi insiemi di dati, offrendo visualizzazioni e operazioni runtime. Questi sono i motivi per cui `e fonda- mentale un potente motore di indicizzazione associativo che rappresenta il cuore della logica in Qlik Sense: QIX Engine.

Come illustrato in [SymbolTable-12], considerando una o pi`u tabelle in input, per ottimizzare le prestazioni il motore QIX genera due tipi di tabelle:

• tabella dei simboli: viene creata per ogni attributo della tabella in input, eseguendo un vero e proprio partizionamento verticale del- la tabella origine. La tabella dei simboli di un singolo attributo

3 – GLI STRUMENTI UTILIZZATI

mostra, associato ad ogni valore distinto, un numero binario che lo rappresenta, chiamato indice;

• tabella dati: contiene gli stessi attributi della tabella origine ma, in sostituzione al valore di ogni attributo, espone il rispettivo indice (estratto dalla tabella dei simboli).

Gli indici sono cifre binarie composti da un numero di bit opportuno per rappresentare i valori distinti dell’attributo. Se si hanno 4 valori diffe- renti baster`a un indice a 2 bit. Ci`o implica che ad un elevato numero di valori distinti ne segue una maggiore lunghezza degli indici e righe aggiuntive nella tabella dei simboli, provocando un ulteriore uso della RAM e della CPU.

Gli indici binari e le tabelle dei simboli, se impiegati adeguatamente, danno l’opportunit`a al motore QIX di comprimere i dati ed elaborarli rapidamente.

Quando un utente interagisce con un’applicazione, egli osserva ed esamina, mediante filtri e selezioni, diversi sottoinsiemi di dati su cui `e possibile eseguire anche calcoli complessi.

3 – GLI STRUMENTI UTILIZZATI

Il motore QIX garantisce il buon esito di queste operazioni tramite un processo composto da due fasi (Figura 3.5):

Figura 3.5: Processo QIX Engine - Qlik Sense

• Logical Inference: come descritto in [LogicalInference-13], `e un pro- cesso che consente di ottenere un subset di dati definito da una o pi`u selezioni apportate dall’utente. I filtri, come mostra la Figura 3.6, vengono applicati e propagati in tutte le tabelle del modello dati, mantenendo soltanto i valori che soddisfano i vincoli espressi nella selezione.

Quando l’inferenza logica `e terminata si passa alla fase successiva;

3 – GLI STRUMENTI UTILIZZATI

• Dynamic Calculation: compie i calcoli e le aggregazioni richieste. Come descritto in [DynamicCalculation-13], in Qlik Sense i calcoli sono svolti a runtime o, se una procedura `e gi`a stata elaborata, viene riproposta grazie all’utilizzo di una cache interna al motore QIX. Questa fase richiede in genere molto tempo: spesso oltre il 90% del tempo di risposta `e dovuto ai calcoli. Come mostrato in figura, i calcoli sono asincroni e multi-thread su pi`u livelli: ogni oggetto viene calcolato con un singolo thread o, in caso di funzioni di aggregazione, si avvale di un numero maggiore di thread in modo da ottimizzare la computazione. Al termine del processo gli oggetti vengono mostrati aggiornati e, dato che il calcolo non `e sincrono, alcuni di loro potrebbero manifestarsi prima rispetto ad altri.

Capitolo 4

DATA MART PER L’ANALISI

DEI PIANI DI

AMMORTAMENTO

In questo capitolo vengono presentati la progettazione e lo sviluppo del prototipo finalizzato all’analisi dell’andamento dei piani di ammorta- mento dei contratti di leasing. In particolare, si evidenziano le propriet`a e la finalit`a di un piano di ammortamento, gli aspetti implementativi del prototipo, dalla progettazione alla realizzazione della base dati di supporto alla reportistica finale.

4 – DATA MART PER L’ANALISI DEI PIANI DI AMMORTAMENTO

4.1

Progettazione del data mart

Per la progettazione del data mart `e stato adottato il metodo appreso durante il corso di studi e spiegato in [Albano-17], il quale consiste in diverse fasi:

• Analisi dei requisiti: procedimento composto da due sottofasi prin- cipali di cui la prima produce una specifica dei requisiti in linguaggio naturale mentre la seconda genera una descrizione dei requisiti in un formato che facilita la progettazione concettuale;

• Progettazione concettuale iniziale del data mart: la prima proget- tazione concettuale del data mart `e definita analizzando i requisiti degli utenti esposti nella fase precedente. Si adotta il DFM (Di- mensional Fact Model) per rappresentare fatti, dimensioni, attributi delle dimensioni e eventuali gerarchie dimensionali;

• Progettazione concettuale candidata del data mart guidata dai dati operazionali : prevede la progettazione del data mart considerando i dati operazionali disponibili. Si definiscono le tabelle e gli attri- buti di interesse ai fini dell’analisi. Tale processo `e essenziale per assicurare che i fatti da modellare abbiano un riscontro nei dati operazionali;

• Progettazione concettuale finale del data mart: partendo dal con- fronto tra il data mart iniziale e il data mart candidato e, general- mente, unendo le parti in comune dei due, si ottiene il data mart

4 – DATA MART PER L’ANALISI DEI PIANI DI AMMORTAMENTO

finale, ossia la progettazione di ci`o che `e disponibile, dal punto di vista dei dati, ed `e utile in base alle richieste degli utenti;

• Progettazione logica del data mart: supponendo che il modello mul- tidimensionale sia implementato con un sistema ROLAP (Relatio- nal On-Line Analytical Processing), ogni data mart finale viene tra- dotto in uno schema relazionale, decidendo se creare uno schema a stella o uno snowflake (nel caso specifico `e stata adottata la prima tipologia). Da qui, integrando i vari schemi di data mart in uno unico, si ottiene il modello logico del data warehouse.

Nei capitoli successivi si dettagliano le fasi appena descritte, parten- do dall’analisi informale e formale dei requisiti fino alla progettazione concettuale finale e logica del data mart sviluppato per le finalit`a del progetto.

Documenti correlati