Condividi tramite


Partizioni: elaborazione e modalità di archiviazione delle partizioni

Si applica a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

La modalità di archiviazione di una partizione influisce sulle prestazioni di esecuzione delle query e di elaborazione e su requisiti e percorsi di archiviazione della partizione e del relativo cubo e gruppo di misure padre. La scelta della modalità di archiviazione influisce inoltre sulle opzioni di elaborazione.

Una partizione può utilizzare una delle tre modalità di archiviazione di base seguenti:

  • OLAP multidimensionale (MOLAP)

  • OLAP relazionale (ROLAP)

  • OLAP ibrido (HOLAP)

Microsoft SQL Server SQL Server Analysis Services supporta tutte e tre le modalità di archiviazione di base. Supporta inoltre la memorizzazione nella cache attiva, che consente di combinare le caratteristiche dell'archiviazione ROLAP e MOLAP ai fini dell'attualità dei dati e delle prestazioni di esecuzione delle query. Per altre informazioni, vedere Memorizzazione nella cache attiva (partizioni).

MOLAP

La modalità di archiviazione MOLAP fa sì che le aggregazioni della partizione e una copia dei relativi dati di origine vengano archiviate in una struttura multidimensionale in SQL Server Analysis Services quando viene elaborata la partizione. Questa struttura MOLAP è ottimizzata in modo da garantire le massime prestazioni di esecuzione delle query. Il percorso di archiviazione può trovarsi nel computer in cui è definita la partizione o in un altro computer che esegue SQL Server Analysis Services. Poiché una copia dei dati di origine risiede nella struttura multidimensionale, le query possono essere risolte senza accedere ai dati di origine della partizione. I tempi di risposta alle query possono essere ridotti significativamente utilizzando le aggregazioni. I dati nella struttura MOLAP della partizione sono aggiornati all'elaborazione più recente della partizione.

Poiché i dati di origine vengono modificati, gli oggetti nell'archivio MOLAP devono essere elaborati periodicamente in modo da incorporare tali modifiche e renderle disponibili agli utenti. L'elaborazione determina l'aggiornamento completo o incrementale dei dati nella struttura MOLAP. L'intervallo di tempo tra un'elaborazione e quella successiva crea un periodo di latenza durante il quale i dati negli oggetti OLAP potrebbero non corrispondere ai dati di origine. È possibile eseguire l'aggiornamento completo o incrementale degli oggetti nell'archivio MOLAP senza porre la partizione o il cubo in modalità offline. In alcune situazioni, tuttavia, può essere necessario porre un cubo in modalità offline per elaborare determinate modifiche strutturali agli oggetti OLAP. Il tempo di inattività necessario per aggiornare l'archivio MOLAP può essere ridotto al minimo aggiornando ed elaborando i cubi su un server dell'area di gestione temporanea e utilizzando la sincronizzazione di database per copiare gli oggetti elaborati nel server di produzione. È inoltre possibile utilizzare la memorizzazione nella cache attiva per ridurre al minimo la latenza e ottimizzare la disponibilità mantenendo la maggior parte dei vantaggi offerti in termini di prestazioni dall'archiviazione MOLAP. Per altre informazioni, vedere Memorizzazione nella cache attiva (partizioni),Sincronizzazione dei database di Analysis Services ed Elaborazione di un modello multidimensionale (Analysis Services).

ROLAP

La modalità di archiviazione ROLAP determina l'archiviazione delle aggregazioni della partizione in viste indicizzate del database relazionale specificato nell'origine dei dati della partizione. A differenza della modalità di archiviazione MOLAP, ROLAP non comporta l'archiviazione di una copia dei dati di origine nelle cartelle di dati SQL Server Analysis Services. Quando non è possibile derivare risultati dalla cache delle query, per rispondere alle query viene invece eseguito l'accesso alle viste indicizzate dell'origine dei dati. I tempi di risposta alle query sono in genere più lenti con la modalità di archiviazione ROLAP rispetto alle modalità di archiviazione MOLAP e HOLAP, così come sono in genere più lenti i tempi di elaborazione con ROLAP. La modalità ROLAP consente inoltre agli utenti di visualizzare i dati in tempo reale e di risparmiare spazio di archiviazione quando si utilizzano set di dati di grandi dimensioni su cui vengono raramente eseguite query, ad esempio dati esclusivamente cronologici.

Nota

Quando si usa ROLAP, SQL Server Analysis Services può restituire informazioni non corrette relative al membro sconosciuto se un join viene combinato con una clausola GROUP BY. SQL Server Analysis Services elimina gli errori di integrità relazionale anziché restituire il valore del membro sconosciuto.

Se una partizione usa la modalità di archiviazione ROLAP e i relativi dati di origine vengono archiviati in SQL Server motore di database, SQL Server Analysis Services tenta di creare viste indicizzate per contenere aggregazioni della partizione. Se SQL Server Analysis Services non è in grado di creare viste indicizzate, non crea tabelle di aggregazione. Anche se SQL Server Analysis Services gestisce i requisiti di sessione per la creazione di viste indicizzate in SQL Server motore di database, le condizioni seguenti devono essere soddisfatte dalla partizione ROLAP e dalle tabelle nel relativo schema affinché SQL Server Analysis Services creare viste indicizzate per le aggregazioni:

  • La partizione non può contenere misure che utilizzano le funzioni di aggregazione Min o Max .

  • Ogni tabella nello schema della partizione ROLAP deve essere utilizzata una sola volta. Lo schema non può ad esempio contenere le stringhe [dbo].[address] AS "Customer Address" e [dbo].[address] AS "SalesRep Address".

  • Ogni tabella deve essere effettivamente una tabella e non una vista.

  • Tutti i nomi di tabella presenti nello schema della partizione devono essere qualificati con il nome del proprietario, ad esempio [dbo].[customer].

  • Tutte le tabelle nello schema della partizione devono avere lo stesso proprietario. Non è possibile, ad esempio, avere una clausola FROM che fa riferimento alle tabelle [tk].[customer], [john].[store] e [dave].[sales_fact_2004].

  • Le colonne di origine delle misure della partizione non devono ammettere valori Null.

  • Tutte le tabelle utilizzate nella vista devono essere state create attivando le opzioni seguenti:

    • ANSI_NULLS

    • QUOTED_IDENTIFIER

  • Le dimensioni totali della chiave di indice, in SQL Server motore di database, non possono superare i 900 byte. SQL Server motore di database eseguirà l'asserzione di questa condizione in base alle colonne chiave a lunghezza fissa quando viene elaborata l'istruzione CREATE INDEX. Tuttavia, se sono presenti colonne a lunghezza variabile nella chiave di indice, SQL Server motore di database eseguirà anche questa condizione per ogni aggiornamento alle tabelle di base. Poiché aggregazioni diverse utilizzano definizioni di viste diverse, l'elaborazione ROLAP con viste indicizzate avrà esito positivo o negativo in base alla progettazione delle aggregazioni.

  • Nella sessione con cui viene creata la vista indicizzata le opzioni seguenti devono essere impostate su ON: ARITHABORT, CONCAT_NULL_YEILDS_NULL, QUOTED_IDENTIFIER, ANSI_NULLS, ANSI_PADDING e ANSI_WARNING. Questa impostazione può essere eseguita in SQL Server Management Studio.

  • Nella sessione con cui viene creata la vista indicizzata l'opzione NUMERIC_ROUNDABORT deve essere impostata su OFF. Questa impostazione può essere eseguita in SQL Server Management Studio.

HOLAP

La modalità di archiviazione HOLAP combina attributi sia di MOLAP che di ROLAP. Analogamente a MOLAP, HOLAP fa sì che le aggregazioni della partizione vengano archiviate in una struttura multidimensionale in un'istanza di SQL Server SQL Server Analysis Services. HOLAP non prevede l'archiviazione di una copia dei dati di origine. Per le query che accedono esclusivamente ai dati di riepilogo nelle aggregazioni di una partizione, la modalità HOLAP equivale a MOLAP. Le query che accedono ai dati di origine, ad esempio, se si vuole eseguire il drill-down in una cella atomica del cubo per cui non sono presenti dati di aggregazione, devono recuperare i dati dal database relazionale e non saranno veloci come se i dati di origine fossero archiviati nella struttura MOLAP. Con la modalità di archiviazione HOLAP, gli utenti riscontrano in genere differenze significative nei tempi di esecuzione delle query a seconda che la query possa essere risolta dalla cache o dalle aggregazioni oppure dai dati di origine.

Le partizioni archiviate come HOLAP presentano dimensioni inferiori rispetto alle partizioni MOLAP equivalenti, poiché non contengono i dati di origine, e garantiscono tempi di risposta più rapidi rispetto alle partizioni ROLAP per le query in cui sono coinvolti dati di riepilogo. La modalità di archiviazione HOLAP è in genere appropriata per partizioni di cubi che necessitano di tempi di risposta alle query rapidi per riepiloghi basati su un'ingente quantità di dati di origine. Nei casi in cui gli utenti generano query che devono accedere ai dati a livello foglia, ad esempio per il calcolo di mediane, è in genere preferibile la modalità MOLAP.

Vedere anche

Memorizzazione nella cache attiva (partizioni)
Sincronizzare i database di Analysis Services
Partizioni (Analysis Services - Dati multidimensionali)