Scalabilità orizzontale 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 Refresh Sync
Interfaccia utente OnDemand Sincronizza sempre
Aggiornamento pianificato Sincronizza sempre
API REST di base Sincronizzazione manuale richiesta 1
API REST avanzata Sincronizzazione manuale richiesta 1
XMLA Sincronizzazione manuale richiesta 1

1 - Con autoSyncReadOnlyReplicas impostato su queryScaleOutSettings false.

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 nel 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 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 di abilitare, è 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 si trova in una capacità power BI Premium:

    • Premium per utente (PPU)
    • SKU P premium di Power BI
    • SKU di Power BI A per Power BI Embedded (noto anche come incorporamento per i clienti).
    • SKU F dell'infrastruttura
  • L'impostazione Formato di archiviazione modello semantico grande è abilitata.

  • Per gestire i modelli semantici usando l'API REST, usare i cmdlet di gestione di Power BI. Installare aprendo PowerShell in modalità Amministrazione istrator 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
    Provider OLE DB di Microsoft Analysis Services 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
    Editor tabulare 2 2.16.6
    Editor tabulare 3 3.2.3
    DAX Studio 3.0.0

Configurare la scalabilità orizzontale 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.

Connessione 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 nella 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 la scalabilità orizzontale 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 Su Disabilitato.

  4. Selezionare Applica.

    A screenshot showing how to disable the scale out tenant settings in the Power BI admin portal.

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 e 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, è possibile passare cinque minuti prima di creare il nuovo modello semantico. La rimozione delle repliche del modello semantico primario potrebbe richiedere 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

    Per apportare modifiche a queste funzionalità, disabilitare l'aumento del numero di istanze e attendere alcuni minuti prima che la modifica venga eseguita prima di ripetere l'operazione.

  • L'individuazione delle appartenenze ai ruoli tramite dmv (Dynamic Management View) TMSCHEMA_ROLE_MEMBERSHIPS set di righe 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 il stringa di connessione usa ?readwrite. Tuttavia, in Power BI Desktop, i report di connessione dinamica che usano ?readwrite la connessione alla replica di lettura/scrittura.

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

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

  • 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 Bring Your Own Encryption Keys (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 XMLA pubblico.
  • La disabilitazione del formato di archiviazione di modelli semantici di grandi dimensioni disabilita l'aumento del numero di istanze e perde tutte le informazioni di sincronizzazione.