Udostępnij za pośrednictwem


Semantyczny model usługi Power BI — skalowanie w poziomie

Semantyczny model skalowalny w poziomie pomaga usłudze Power BI zapewnić szybką wydajność, podczas gdy raporty i pulpity nawigacyjne są używane przez dużą grupę odbiorców. Skalowanie modelu semantycznego w poziomie używa pojemności Premium do hostowania co najmniej jednej repliki tylko do odczytu podstawowegomodelu semantycznego. Zwiększając przepływność, repliki tylko do odczytu zapewniają, że wydajność nie spowalnia, gdy wielu użytkowników przesyła zapytania w tym samym czasie.

Gdy usługa Power BI tworzy repliki tylko do odczytu, oddziela je od podstawowego modelu semantycznego odczytu i zapisu. Repliki tylko do odczytu obsługują zapytania raportów i pulpitów nawigacyjnych usługi Power BI, a model semantyczny odczytu i zapisu jest używany podczas wykonywania operacji zapisu i odświeżania. Podczas operacji zapisu i odświeżania repliki tylko do odczytu nadal obsługują raporty i zapytania pulpitu nawigacyjnego bez zakłócania działania. Domyślnie modele semantyczne tylko do odczytu i odczytu są automatycznie synchronizowane, aby repliki tylko do odczytu były aktualne. Można jednak wyłączyć automatyczną synchronizację i wybrać synchronizację ręcznie w wierszu polecenia lub za pomocą skryptu.

W poniższej tabeli przedstawiono wymaganą synchronizację dla każdej metody odświeżania po włączeniu skalowania modelu semantycznego usługi Power BI w poziomie, a automatyczna synchronizacja jest wyłączona:

Refresh, metoda Synchronizuj
OnDemand UI Zawsze synchronizuje
Zaplanowane odświeżanie Zawsze synchronizuje
Podstawowy interfejs API REST Wymagana ręczna synchronizacja 1
Zaawansowany interfejs API REST Wymagana ręczna synchronizacja 1
XMLA Wymagana ręczna synchronizacja 1

1 — z autoSyncReadOnlyReplicas w queryScaleOutSettings ustawieniu na wartość false.

Zarządzanie repliką

Skalowanie w poziomie tworzy jedną replikę modelu semantycznego odczytu i zapisu oraz dowolną liczbę replik tylko do odczytu. Wszystkie operacje zapisu są kierowane do repliki odczytu i zapisu. Obejmuje to zapytania dotyczące sesji przeznaczonych dla repliki odczytu i zapisu jawnie, czyli nie są używane ?readonly w parametry połączenia. Te zapytania mogą powodować wysokie interakcyjne użycie procesora CPU w repliki do odczytu i zapisu. W takich przypadkach nowa replika nie jest tworzona, ponieważ obciążenie zapytania przeznaczone dla repliki do odczytu i zapisu nie może być dystrybuowane do replik tylko do odczytu.

Liczba replik tylko do odczytu jest określana na podstawie ilości procesora CPU używanego przez zapytania. Maksymalna liczba replik zależy od jednostki SKU. Zostanie utworzona nowa replika tylko do odczytu, jeśli bieżące użycie procesora CPU we wszystkich aktywnych replikach tylko do odczytu dla modelu semantycznego jest wysokie i pozostaje wysokie. Jednak bieżące obciążenie pojemności może być wystarczająco wysokie, aby spowodować ograniczenie przepustowości w przypadku dodania większej liczby replik. Ograniczanie przepustowości uniemożliwia osiągnięcie trwałego wysokiego użycia procesora CPU przez dodatkowe repliki tylko do odczytu. W takich przypadkach nie jest tworzona nowa replika tylko do odczytu.

Replika jest usuwana, gdy użycie procesora CPU zmniejsza i stale pozostaje niskie.

Wymagania wstępne

Domyślnie skalowanie w poziomie jest włączone dla dzierżawy, ale nie jest włączone dla modeli semantycznych w dzierżawie. Aby włączyć skalowanie w poziomie dla modelu semantycznego, należy użyć interfejsów API REST usługi Power BI. Przed włączeniem należy spełnić następujące wymagania wstępne:

  • Ustawienie Skalowanie w poziomie zapytań dla dużych modeli semantycznych dla dzierżawy jest włączone (ustawienie domyślne).

  • Obszar roboczy znajduje się w pojemności usługi Power BI Premium:

    • Premium na użytkownika (PPU)
    • Jednostki SKU P usługi Power BI Premium
    • Jednostki SKU usługi Power BI A dla usługi Power BI Embedded (znane również jako osadzanie dla klientów).
    • Jednostki SKU F sieci szkieletowej
  • Ustawienie Format magazynu dużego modelu semantycznego jest włączone.

  • Aby zarządzać modelami semantycznymi przy użyciu interfejsu API REST, użyj poleceń cmdlet usługi Power BI Management. Zainstaluj, otwierając program PowerShell w trybie Administracja istratora i uruchamiając polecenie:

    Install-Module -Name MicrosoftPowerBIMgmt
    
  • Następująca (lub nowsza) aplikacja, biblioteka i wersje usługi obsługują nawiązywanie połączenia z replikami tylko do odczytu:

    Aplikacja, biblioteka lub usługa Wersja
    Dostawca OLE DB usług Microsoft Analysis Services dla programu Microsoft SQL Server (MSOLAP) 16.0.20.201 (marzec 2022 r.)
    Microsoft.AnalysisServices.AdomdClient (ADOMD.NET) 19.36.0 (marzec 2022 r.)
    Power BI Desktop Czerwiec 2022
    SQL Server Management Studio (SSMS) 19,0
    Tabelaryczny edytor 2 2.16.6
    Tabelaryczny edytor 3 3.2.3
    DAX Studio 3.0.0

Konfigurowanie skalowania w poziomie dla modelu semantycznego

Aby dowiedzieć się, jak włączyć lub wyłączyć skalowanie w poziomie dla modelu semantycznego lub uzyskać stan skalowania w poziomie przy użyciu programu PowerShell i interfejsów API REST, zobacz Konfigurowanie skalowania modelu semantycznego w poziomie.

Połączenie do określonego typu modelu semantycznego

Po włączeniu skalowania w poziomie są zachowywane następujące połączenia:

  • Domyślnie program Power BI Desktop łączy się z repliką tylko do odczytu.

  • Raporty połączeń na żywo łączą się z repliką tylko do odczytu.

  • Aplikacje klienckie XMLA domyślnie łączą się z modelem semantycznym odczytu i zapisu.

  • Odświeża się w usługa Power BI i odświeża przy użyciu interfejsu API REST rozszerzonego odświeżania nawiąż połączenie z modelem semantycznym odczytu i zapisu.

Możesz nawiązać połączenie z repliką tylko do odczytu lub z semantycznym modelem odczytu i zapisu, dołączając jeden z następujących ciągów do adresu URL modelu semantycznego:

  • Tylko odczyt - ?readonly
  • Odczyt i zapis - ?readwrite

Wyłączanie skalowania modelu semantycznego w poziomie dla dzierżawy

Skalowanie modelu semantycznego usługi Power BI w poziomie jest domyślnie włączone dla dzierżawy. Administratorzy dzierżawy usługi Power BI mogą wyłączyć to ustawienie. Aby wyłączyć skalowanie modelu semantycznego w poziomie dla dzierżawy, wykonaj następujące czynności:

  1. Przejdź do ustawień dzierżawy.

  2. W obszarze Ustawienia skalowania w poziomie rozwiń pozycję Zapytania skalowane w poziomie dla dużych modeli semantycznych.

  3. Przełącz przełącznik na Wyłączone.

  4. Wybierz Zastosuj.

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

Rozważania i ograniczenia

  • Aplikacje klienckie mogą łączyć się z repliką tylko do odczytu za pośrednictwem punktu końcowego XMLA, pod warunkiem, że obsługują tryb określony w parametry połączenia. Aplikacje klienckie mogą również łączyć się z wystąpieniem odczytu i zapisu przy użyciu punktu końcowego XMLA.

  • Odświeżanie ręczne i zaplanowane jest zawsze automatycznie synchronizowane z najnowszą wersją replik tylko do odczytu. Odświeżanie interfejsu API REST uwzględnia konfigurację automatycznej synchronizacji. Jeśli automatyczna synchronizacja jest wyłączona, model semantyczny musi być synchronizowany z replikami tylko do odczytu przy użyciu interfejsu API REST synchronizacji ręcznej.

  • Po wyłączeniu automatycznej synchronizacji aktualizacje i odświeżenia XMLA muszą być synchronizowane z kopiami modelu semantycznego tylko do odczytu przy użyciu interfejsu API REST synchronizacji.

  • Podczas usuwania modelu semantycznego skalowalnego w poziomie usługi Power BI i tworzenia innego modelu semantycznego o tej samej nazwie poczekaj pięć minut przed utworzeniem nowego modelu semantycznego. Usunięcie replik podstawowego modelu semantycznego może zająć trochę czasu w usłudze Power BI.

  • Gdy jest włączona funkcja skalowania modelu semantycznego usługi Power BI i autoSyncReadOnlyReplicas=false, zmiany w następujących funkcjach nie są obsługiwane:

    • Dodawanie lub usuwanie ról
    • Aktualizowanie zestawu członkostwa w rolach dla dowolnej roli
    • Modyfikowanie źródła danych
    • Usuwanie źródeł danych używanych przez zapytanie bezpośrednie lub tabelę podwójną
    • Zmiany w wyrażeniach zabezpieczeń na poziomie obiektu (OLS) lub dynamicznych wyrażeń zabezpieczeń na poziomie wiersza

    Aby wprowadzić zmiany w tych funkcjach, wyłącz skalowanie w poziomie i poczekaj kilka minut na zmianę przed ponownym opublikowaniem.

  • Odnajdywanie członkostwa w rolach przy użyciu dynamicznego widoku zarządzania (DMV) TMSCHEMA_ROLE_MEMBERSHIPS zestawu wierszy nie zwraca żadnych wyników podczas uruchamiania względem repliki tylko do odczytu.

  • Raporty korzystające z połączenia na żywo zawsze łączą się z repliką tylko do odczytu, nawet jeśli parametry połączenia używa metody ?readwrite. Jednak w programie Power BI Desktop raporty połączeń na żywo przy użyciu połączenia z ?readwrite repliką do odczytu i zapisu.

  • Zestawy wierszy widoku dynamicznego zarządzania (DMV) DBSCHEMA_CATALOGS i DISCOVER_XML_METADATA zwracają informacje o replice do odczytu i zapisu w przypadku użycia ?readonly w parametry połączenia.

  • Profiler programu SQL Server nie działa z ?readonly parametry połączenia.

  • Te operacje wyzwalają automatyczną synchronizację nawet wtedy, gdy automatyczna synchronizacja jest wyłączona (AutoSync=Off).

    • Migrowanie obszaru roboczego z jednej pojemności do innej.
    • Przełączanie (lub obracanie) wersji klucza używanego na potrzeby funkcji Bring your own encryption keys (BYOK).
    • Przeniesienie obszaru roboczego modelu semantycznego z pojemności, która nie używa rozwiązania BYOK do pojemności korzystającej z funkcji BYOK.
    • Przeniesienie obszaru roboczego modelu semantycznego z pojemności, która używa rozwiązania BYOK do pojemności, która nie korzysta z funkcji BYOK.
    • Przywracanie modelu semantycznego przy użyciu publicznego punktu końcowego XMLA.
  • Wyłączenie dużego formatu magazynu modelu semantycznego powoduje wyłączenie skalowania w poziomie i utratę wszystkich informacji synchronizacji.