Konfigurieren der horizontalen Skalierung des Semantikmodells

Sie können die horizontale Skalierung im Power BI-Dienst oder über die Power BI Datasets REST APIs aktivieren. Bevor Sie das semantische Modell konfigurieren, lesen Sie den Überblick über die Horizontale Skalierung des semantischen Modells in Power BI.

Aktivieren der horizontalen Skalierung im Power BI-Dienst

Führen Sie die folgenden Schritte aus, um die horizontale Skalierung für Ihr semantisches Modell im Power BI-Dienst zu aktivieren:

  1. Öffnen Sie im Power BI-Dienst den Arbeitsbereich mit dem semantischen Modell, für das Sie die horizontale Skalierung aktivieren möchten.

  2. Wählen Sie im semantischen Modell Weitere Optionen () aus.

  3. Wählen Sie im Menü die Option Einstellungen aus.

  4. Aktivieren Sie auf der Seite der Einstellung das Speicherformat „Großes semantisches Modell“, wenn dies noch nicht aktiviert ist.

  5. Aktivieren Sie Horizontale Abfrage-Skalierung und wählen Sie dann Übernehmen aus.

    A screenshot showing how to enable scale out in Power BI service.

Aktivieren der horizontalen Skalierung mithilfe der REST APIs für Datasets

Dieser Abschnitt beschreibt die Verwendung der REST APIs von Power BI-Datasets zum Konfigurieren der horizontalen Skalierung für semantische Modelle.

Abrufen der Dataset-ID

Verwenden Sie Get-PowerBIDataset, um die Dataset-ID abzurufen. Sie müssen eine Arbeitsbereichs-ID und einen Semantikmodellnamen angeben.

Login-PowerBI | Out-Null

$workspaceId = '<enter workspaceId>'

$datasetId = Get-PowerBIDataset -WorkspaceId $workspaceId `
    | Where{$_.Name -match "<enter semantic model name>"} `
    | Select-Object -ExpandProperty Id -First 1 `
    | ForEach-Object {$_.Guid}

Write-Host
Write-Host "Workspace Id: $workspaceId"
Write-Host "Dataset Id: $datasetId"

Abrufen der aktuellen Konfiguration für die horizontale Skalierung

Ermitteln Sie vor dem Konfigurieren der horizontalen Skalierung für Semantikmodelle die aktuelle Konfiguration.

###
# Get current scale-out configuration
###
Login-PowerBI | Out-Null

$workspaceId = '<enter workspaceId>'

$datasetId = Get-PowerBIDataset -WorkspaceId $workspaceId `
    | Where{$_.Name -match "<enter semantic model name>"} `
    | Select-Object -ExpandProperty Id -First 1 `
    | ForEach-Object {$_.Guid}

$response = Invoke-PowerBIRestMethod -Url "groups/$workspaceId/datasets/$datasetId" -Method Get | ConvertFrom-Json

$response.queryScaleOutSettings | Format-List

if ($response.queryScaleOutSettings.maxReadOnlyReplicas -eq -1 `
    -or $response.queryScaleOutSettings.maxReadOnlyReplicas -gt 0)
{
    Write-Host "Semantic model scale-out is enabled."
}
else
{
    Write-Host "Semantic model scale-out is disabled."
}

Aktivieren der horizontalen Skalierung von Semantikmodellen

Um die horizontale Skalierung für Semantikmodelle zu aktivieren, legen Sie für maxReadOnlyReplicas den Wert -1 oder einen beliebigen anderen Wert als 0 fest. Mit dem Wert -1 kann Power BI so viele schreibgeschützte Replikate erstellen, wie Ihre Power BI-Kapazität unterstützt. Sie können die Replikatanzahl auch explizit auf einen Wert festlegen, der niedriger ist als die maximale Kapazität. Die empfohlene Einstellung für maxReadOnlyReplicas lautet -1.

###
# Enable scale-out
###
Login-PowerBI | Out-Null

$workspaceId = '<enter workspaceId>'

$datasetId = Get-PowerBIDataset -WorkspaceId $workspaceId `
    | Where{$_.Name -match "<enter semantic model name>"} `
    | Select-Object -ExpandProperty Id -First 1 `
    | ForEach-Object {$_.Guid}

Invoke-PowerBIRestMethod -Url "groups/$workspaceId/datasets/$datasetId" `
    -Method Patch -Body '{ "queryScaleOutSettings": { "maxReadOnlyReplicas": -1 }}'

Invoke-PowerBIRestMethod -Url "groups/$workspaceId/datasets/$datasetId" -Method Get `
    | ConvertFrom-Json | Select-Object -ExpandProperty queryScaleOutSettings `
    | ForEach { 
        if($_.maxReadOnlyReplicas -eq -1)
        { 
            Write-Host "Success! Semantic model scale-out has been enabled."
        } else
        {
            Write-Host "Something went wrong! Semantic model scale-out is still disabled." -ForegroundColor Red
        }
     }

Deaktivieren der horizontalen Skalierung von Semantikmodellen

Um die horizontale Skalierung von Semantikmodellen zu deaktivieren, legen Sie maxReadOnlyReplicas auf 0 fest.

###
# Disable scale-out
###
Login-PowerBI | Out-Null

$workspaceId = '<enter workspaceId>'

$datasetId = Get-PowerBIDataset -WorkspaceId $workspaceId `
    | Where{$_.Name -match "<enter semantic model name>"} `
    | Select-Object -ExpandProperty Id -First 1 `
    | ForEach-Object {$_.Guid}

Invoke-PowerBIRestMethod -Url "groups/$workspaceId/datasets/$datasetId" `
    -Method Patch -Body '{ "queryScaleOutSettings": { "maxReadOnlyReplicas": 0 }}'

Invoke-PowerBIRestMethod -Url "groups/$workspaceId/datasets/$datasetId" -Method Get `
    | ConvertFrom-Json | Select-Object -ExpandProperty queryScaleOutSettings `
    | ForEach { 
        if($_.maxReadOnlyReplicas -eq 0)
        { 
            Write-Host "Success! Semantic model scale-out has been disabled."
        } else
        {
            Write-Host "Something went wrong! Semantic model scale-out is still enabled." -ForegroundColor Red
        }
     }