Scale-out del modello semantico di Power BI

La scalabilità orizzontale del modello semantico consente a Power BI di offrire prestazioni veloci, mentre i report e i dashboard vengono utilizzati da un pubblico di grandi dimensioni. La scalabilità orizzontale del modello semantico usa la capacità Premium per ospitare una o più repliche di sola lettura del modello semantico primario. Aumentando la velocità effettiva, le repliche di sola lettura garantiscono che le prestazioni non rallentano quando più utenti inviano query contemporaneamente.

Quando Power BI crea repliche di sola lettura, le separa dal modello semantico di lettura/scrittura primario. Le repliche di sola lettura gestiscono query di report e dashboard di Power BI e il modello semantico di lettura/scrittura viene usato quando vengono eseguite operazioni di scrittura e aggiornamento. Durante le operazioni di scrittura e aggiornamento, le repliche di sola lettura continuano a gestire i report e le query del dashboard senza essere interrotte. Per impostazione predefinita, i modelli semantici di sola lettura e di lettura/scrittura vengono sincronizzati automaticamente in modo che le repliche di sola lettura vengano mantenute aggiornate. Tuttavia, è possibile disabilitare la sincronizzazione automatica e scegliere di eseguire la sincronizzazione manualmente nella riga di comando o tramite script.

La tabella seguente mostra la sincronizzazione necessaria per ogni metodo di aggiornamento quando è abilitata la scalabilità orizzontale del modello semantico di Power BI e la sincronizzazione automatica è disabilitata:

Metodo di aggiornamento Sincronizza
Interfaccia utente OnDemand Sincronizzazione continua
Aggiornamento pianificato Sincronizzazione continua
API REST di base Sincronizzazione manuale obbligatoria 1
API REST avanzata Sincronizzazione manuale obbligatoria 1
XMLA Sincronizzazione manuale obbligatoria 1

1 - Con autoSyncReadOnlyReplicas in queryScaleOutSettings impostato su falso.

Gestione delle repliche

La scalabilità orizzontale crea una replica del modello semantico di lettura/scrittura e il numero di repliche di sola lettura necessarie. Tutte le operazioni di scrittura vengono indirizzate alla replica di lettura/scrittura. Sono incluse le query sulle sessioni destinate alla replica di lettura/scrittura in modo esplicito, ovvero non vengono usate ?readonly nella stringa di connessione. Queste query possono causare un utilizzo elevato della CPU interattiva nella replica di lettura/scrittura. In questi casi, non viene creata una nuova replica perché il carico della query destinato alla replica di lettura/scrittura non può essere distribuito alle repliche di sola lettura.

Il numero di repliche di sola lettura viene determinato in base alla quantità di CPU usata dalle query. Il numero massimo di repliche dipende dallo SKU. Viene creata una nuova replica di sola lettura se l'utilizzo corrente della CPU in tutte le repliche di sola lettura attive per un modello semantico è elevato e rimane elevato. Tuttavia, il carico corrente sulla capacità potrebbe essere sufficientemente elevato per causare la limitazione se vengono aggiunte più repliche. La limitazione impedisce ad altre repliche di sola lettura di raggiungere un utilizzo elevato della CPU. In questi casi, non viene creata una nuova replica di sola lettura con scalabilità orizzontale.

Una replica viene rimossa quando l'uso della CPU si riduce e rimane costantemente basso.

Prerequisiti

Per impostazione predefinita, la scalabilità orizzontale è abilitata per il tenant, ma non è abilitata per i modelli semantici nel tenant. Per abilitare la scalabilità orizzontale per un modello semantico, è necessario usare le API REST di Power BI. Prima dell’abilitazione, è necessario soddisfare i prerequisiti seguenti:

  • L'impostazione Scale-out query per modelli semantici di grandi dimensioni per il tenant è abilitata (impostazione predefinita).

  • L'area di lavoro risiede in una capacità Power BI Premium:

    • Premium per utente(PPU)
    • SKU P di Power BI Premium
    • SKU A di Power BI per Power BI Embedded (noto anche come incorporamento per i clienti).
    • SKU F Fabric
  • L’impostazione Formato di archiviazione di modelli semantici di grandi dimensioni è abilitata.

  • Per gestire i modelli semantici usando l'API REST, usare i cmdlet di gestione di Power BI. Eseguire l'installazione aprendo PowerShell in modalità amministratore ed eseguendo il comando:

    Install-Module -Name MicrosoftPowerBIMgmt
    
  • Le versioni seguenti (o successive) di app, libreria e servizio supportano la connessione a repliche di sola lettura:

    App, libreria o servizio Versione
    Microsoft Analysis Services OLE DB Provider per Microsoft SQL Server (MSOLAP) 16.0.20.201 (marzo 2022)
    Microsoft.AnalysisServices.AdomdClient (ADOMD.NET) 19.36.0 (marzo 2022)
    Power BI Desktop Giugno 2022
    SQL Server Management Studio (SSMS) 19,0
    Tabular Editor 2 2.16.6
    Tabular Editor 3 3.2.3
    DAX Studio 3.0.0

Configurare lo scale-out per un modello semantico

Per informazioni su come abilitare o disabilitare la scalabilità orizzontale per un modello semantico o ottenere lo stato di scalabilità orizzontale usando PowerShell e le API REST, vedere Configurare la scalabilità orizzontale del modello semantico.

Connettersi a un tipo di modello semantico specifico

Quando la scalabilità orizzontale è abilitata, vengono mantenute le connessioni seguenti:

  • Per impostazione predefinita, Power BI Desktop si connette a una replica di sola lettura.

  • I report di connessione dinamica si connettono a una replica di sola lettura.

  • Le applicazioni client XMLA si connettono al modello semantico di lettura/scrittura per impostazione predefinita.

  • Gli aggiornamenti nel servizio Power BI e gli aggiornamenti tramite l'API REST di aggiornamento avanzato si connettono al modello semantico di lettura/scrittura.

È possibile connettersi a una replica di sola lettura o al modello semantico di lettura/scrittura aggiungendo una delle stringhe seguenti all'URL del modello semantico:

  • Sola lettura - ?readonly
  • Lettura/scrittura - ?readwrite

Disabilitare lo scale-out del modello semantico per il tenant

La scalabilità orizzontale del modello semantico di Power BI è abilitata per impostazione predefinita per un tenant. Gli amministratori tenant di Power BI possono disabilitare questa impostazione. Per disabilitare la scalabilità orizzontale del modello semantico per il tenant, eseguire le operazioni seguenti:

  1. Passare alle impostazioni del tenant.

  2. Nelle impostazioni di scalabilità orizzontale, espandere Query con scalabilità orizzontale per modelli semantici di grandi dimensioni.

  3. Attivare o disattivare l'opzione Disabilitato.

  4. Selezionare Applica.

    Screenshot che mostra come disabilitare le impostazioni del tenant di scalabilità orizzontale nel portale di amministrazione di Power BI.

Considerazioni e limitazioni

  • Le applicazioni client possono connettersi a una replica di sola lettura tramite l'endpoint XMLA, purché supportino la modalità specificata nella stringa di connessione. Le applicazioni client possono anche connettersi all'istanza di lettura/scrittura usando l'endpoint XMLA.

  • Gli aggiornamenti manuali e pianificati vengono sempre sincronizzati automaticamente con la versione più recente delle repliche di sola lettura. Gli aggiornamenti dell'API REST rispettano la configurazione della sincronizzazione automatica. Se la sincronizzazione automatica è disabilitata, il modello semantico deve essere sincronizzato con le repliche di sola lettura usando l'API REST di sincronizzazione manuale.

  • Con la sincronizzazione automatica disabilitata, gli aggiornamenti XMLA devono essere sincronizzati con le copie del modello semantico di sola lettura usando l'API REST di sincronizzazione.

  • Quando si elimina un modello semantico con scalabilità orizzontale di Power BI e si crea un altro modello semantico con lo stesso nome, attendere cinque minuti prima di creare il nuovo modello semantico. La rimozione delle repliche del modello semantico primario potrebbe richiedere del tempo in Power BI.

  • Quando la scalabilità orizzontale del modello semantico di Power BI è abilitata e autoSyncReadOnlyReplicas=false, le modifiche apportate alle funzionalità seguenti non sono supportate:

    • Aggiunta o eliminazione di ruoli
    • Aggiornamento del set di appartenenze ai ruoli per qualsiasi ruolo
    • Modifica di un'origine dati
    • Eliminazione di origini dati usate da directQuery o da una tabella duale
    • Modifiche alle espressioni di sicurezza a livello di oggetto (OLS) o sicurezza dinamica a livello di riga (RLS)

    Per apportare modifiche a queste funzionalità, disabilitare lo scale-out e attendere alcuni minuti che la modifica venga eseguita prima di ripetere l'operazione.

  • L'individuazione delle appartenenze ai ruoli tramite il set di righe TMSCHEMA_ROLE_MEMBERSHIPS Dynamic Management View (DMW) non restituisce alcun risultato quando viene eseguito sulla replica di sola lettura.

  • I report che usano una connessione dinamica si connettono sempre alla replica di sola lettura, anche se la stringa di connessione usa ?readwrite. Tuttavia, in Power BI Desktop, i report di connessione dinamica che usano ?readwrite si connettono alla replica di lettura/scrittura.

  • I set di righe DBSCHEMA_CATALOGS e DISCOVER_XML_METADATA Dynamic Management View (DMV) restituiscono informazioni sulla replica di lettura/scrittura quando si utilizza ?readonly nella stringa di connessione.

  • SQL Server Profiler non funziona con la stringa di connessione ?readonly.

  • Queste operazioni attivano la sincronizzazione automatica anche quando la sincronizzazione automatica è disattivata (AutoSync=Off).

    • Migrazione di un'area di lavoro da una capacità a un'altra.
    • Cambio (o rotazione) della versione della chiave usata per Usare chiavi di crittografia personalizzate (BYOK).
    • Spostamento dell'area di lavoro di un modello semantico da una capacità che non usa BYOK a una capacità che usa BYOK.
    • Spostamento dell'area di lavoro di un modello semantico da una capacità che usa BYOK a una capacità che non usa BYOK.
    • Ripristino di un modello semantico tramite l'endpoint pubblico XMLA.
  • La disabilitazione del formato di archiviazione di modelli semantici di grandi dimensioni disabilita lo scale-out e perde tutte le informazioni di sincronizzazione.