I cubi sono oggetti di informazioni che identificano le misure con dimensioni identiche e sono adatti per essere elaborati insieme in tutte le fasi: caricamento, aggregazione e memorizzazione di dati nonché esecuzione di query. La scheda Dettagli di implementazione consente di determinare il modo in cui i dati vengono memorizzati in modo fisico.
Importante: eseguire lo sparsity advisor dopo aver mappato il cubo per ottenere consigli per queste scelte.
Ordine e sparsità delle dimensioni
Selezionare le dimensioni con sparsità.
L'ordine delle dimensioni è importante per le dimensioni composte, ma non ha effetto sulle dimensioni composte compresse. Per ordinare le dimensioni, utilizzare i tasti freccia per spostare le dimensioni con sparsità nella parte inferiore della lista, dopo le dimensioni con dati completi. Tutte le dimensioni identificate come dimensioni con sparsità (mediante la selezione della casella Con sparsità) devono essere raggruppate.
Se non si utilizza lo sparsity advisor, attenersi alle istruzioni di base riportate di seguito.
Elencare per prima la dimensione tempo per accelerare il caricamento dei dati e l'analisi basata sul tempo. Tempo è spesso una dimensione con dati completi sebbene possa essere considerata con sparsità se il livello base è Giorno o il cubo dispone di molte dimensioni.
Per una dimensione composta normale, elencare le dimensioni con sparsità da quella con il maggior numero di membri a quella con il minor numero di membri. Per una dimensione composta compressa, elencare le dimensioni con sparsità da quelle con il minor numero di membri a quelle con il maggior numero di membri.
Se si utilizza lo sparsity advisor, tenere presente che non viene eseguita l'ottimizzazione per il caricamento dei dati o per l'analisi basata sul tempo. Se si desidera eseguire l'ottimizzazione per questi task, è possibile ignorare i suggerimenti ed elencare per prima la dimensione tempo.
Utilizza dimensioni composte globali
Per i cubi partizionati non compressi è possibile scegliere di utilizzare dimensioni composte singole (globali) o multiple. Questa opzione definisce una singola dimensione composta per il cubo anziché una dimensione composta per ogni partizione. L'utilizzo di una dimensione composta globale consente di:
eliminare la ridondanza tra più dimensioni composte e ridurre di conseguenza i requisiti di memorizzazione;
caricare l'intera dimensione composta in memoria per migliorare le prestazioni complessive.
L'utilizzo di una dimensione composta globale può rappresentare una scelta migliore nelle situazioni riportate di seguito.
La dimensione partizionata è una dimensione con dati completi e i pattern di sparsità per le altre dimensioni sono coerenti in tutte le partizioni.
La dimensione composta aggregata non supererà la quantità di memoria disponibile (almeno 50 milioni di valori).
Vengono utilizzate le dimensioni composte normali. I cubi compressi non possono utilizzare dimensioni composte globali.
L'area di lavoro analitica non supporta le applicazioni multiwriter.
Nota: una dimensione composta globale non consente l'aggregazione parallela nelle partizioni. Se l'area di lavoro analitica ha un numero di cubi inferiore ai processi disponibili, l'aggregazione delle partizioni in parallelo può determinare un miglioramento delle prestazioni di generazione più significativo rispetto a una dimensione composta globale.
In caso di dubbio, non scegliere questa opzione. Il cubo disporrà di una dimensione composta per ogni partizione.
Un cubo non partizionato dispone sempre di una dimensione composta per il cubo, indipendentemente dal fatto che sia compresso o meno. Un cubo compresso partizionato dispone sempre di una dimensione composta per ciascuna partizione.
Usa compressione
Selezionare questa opzione se i dati del cubo sono caratterizzati da un'elevata sparsità. Tenere presente tuttavia che un'elevata sparsità è piuttosto comune.
L'elevata sparsità deriva spesso da uno o più dei fattori riportati di seguito.
Un cubo dispone di un numero elevato di dimensioni (almeno sette).
Una dimensione ha più di 300.000 membri.
Due dimensioni hanno più di 100.000 membri ciascuna.
Le gerarchie delle dimensioni dispongono di numerosi livelli con una leggera variazione nel numero dei membri delle dimensioni da un livello al successivo; pertanto, molti elementi padre hanno un solo discendente per più livelli contigui.
La memorizzazione compressa utilizza una quantità minore di spazio e aumenta la velocità di aggregazione rispetto alla memorizzazione con sparsità normale per i cubi con elevata sparsità.
Alcuni operatori di aggregazione, ovvero tutti gli operatori ponderati, tutti gli operatori ridimensionati e l'operatore Media ponderata gerarchia, non possono essere compressi poiché i relativi valori possono cambiare per ogni livello. Quando questi operatori vengono utilizzati in un cubo, vengono compresse solo le dimensioni su cui il motore di aggregazione riesce ad agire. Tuttavia, tale motore non è in grado di comprimere l'intero cubo.
Tipo di dati del cubo
Con la memorizzazione compressa è necessario che tutte le misure del cubo abbiano lo stesso tipo di dati. Con memorizzazione normale, a ogni misura è associato un tipo di dati. A seconda del tipo di dati selezionato, è possibile impostare i parametri aggiuntivi descritti di seguito.
Precisione: il numero massimo di cifre decimali significative.
Scala: il numero di cifre dal separatore decimale alla cifra meno significativa.
Dimensione: la lunghezza massima in byte per i tipi di dati di testo.
Crea partizione nel cubo
Selezionare questa opzione per creare una partizione nel cubo. Il partizionamento migliora le prestazioni delle misure di grandi dimensioni. Una misura contenente più di 50 milioni di tuple composte deve essere partizionata.
Dimensione
Selezionare la dimensione per il partizionamento del cubo. La dimensione deve disporre di almeno una gerarchia basata su livelli e i relativi membri devono essere distribuiti in modo uniforme, in modo che tutti gli elementi padre appartenenti a un determinato livello abbiano approssimativamente lo stesso numero di elementi figlio.
La dimensione tempo in genere rappresenta la scelta migliore poiché soddisfa questi criteri. Inoltre, i dati vengono caricati ed eliminati in base al periodo di tempo; pertanto, è possibile creare le nuove partizioni ed eliminare quelle vecchie come parte del processo di aggiornamento dei dati.
Gerarchia
Selezionare la gerarchia da utilizzare per il partizionamento. Se la dimensione dispone di più gerarchie, scegliere quella contenente il maggior numero di membri; tale gerarchia deve essere definita come gerarchia predefinita.
Livello
Selezionare il livello da utilizzare per il partizionamento. Ciascun membro della dimensione appartenente al livello selezionato viene memorizzato in una partizione distinta insieme ai relativi discendenti. I membri della dimensione appartenenti a livelli superiori o non presenti nella gerarchia vengono memorizzati insieme nella partizione predefinita. La dimensione della partizione predefinita non deve superare quella delle partizioni basate su livelli.
Scegliere attentamente il livello in modo da non creare una quantità eccessiva di partizioni. Ad esempio, se la dimensione tempo dispone di dati relativi a 10 anni nei livelli anno, trimestre, mese e giorno, è possibile eseguire il partizionamento nel livello trimestre. In questo caso, vengono create 40 partizioni, una per ciascun trimestre e i relativi discendenti (mesi e giorni). I 10 membri appartenenti al livello anno vengono memorizzati insieme nella partizione predefinita e possono essere recuperati rapidamente per essere inclusi in una vista di livello superiore dei dati. Tuttavia, in caso di dati con elevata sparsità, è possibile eseguire il partizionamento nel livello anno.
L'obiettivo del partizionamento consiste nella creazione di dimensioni composte che rientrano nella quantità di memoria disponibile con la conseguente ottimizzazione delle prestazioni. Maggiore è la quantità di memoria disponibile sul computer, maggiore sarà la dimensione delle partizioni.
"Basic Elements of Oracle SQL" in SQL Reference per la descrizione dei tipi di dati e delle conversioni implicite dei tipi di dati.
Copyright © 2003, 2007, Oracle. Tutti i diritti riservati.