Partilhar via


Expansão do modelo semântico do Power BI

A expansão do modelo semântico ajuda o Power BI a oferecer um desempenho rápido enquanto seus relatórios e painéis são consumidos por um grande público. A expansão do modelo semântico usa sua capacidade Premium para hospedar uma ou mais réplicas somente leitura do seu modelo semântico principal. Ao aumentar a taxa de transferência, as réplicas somente leitura garantem que o desempenho não diminua quando vários usuários enviam consultas ao mesmo tempo.

Quando o Power BI cria réplicas somente leitura, ele as separa do modelo semântico primário de leitura-gravação. As réplicas somente leitura servem consultas de relatório e painel do Power BI, e o modelo semântico de leitura-gravação é usado quando operações de gravação e atualização são executadas. Durante as operações de gravação e atualização, as réplicas somente leitura continuam a servir seus relatórios e consultas de painel sem serem interrompidas. Por padrão, os modelos semânticos somente leitura e leitura-gravação são sincronizados automaticamente para que as réplicas somente leitura sejam mantidas atualizadas. No entanto, você pode desativar a sincronização automática e optar por sincronizar manualmente na linha de comando ou por script.

A tabela a seguir mostra a sincronização necessária para cada método de atualização quando a expansão do modelo semântico do Power BI está habilitada e a sincronização automática está desabilitada:

Método Refresh Sync
Interface do usuário do OnDemand Sempre sincroniza
Atualização agendada Sempre sincroniza
API REST básica Sincronização manual necessária 1
API REST avançada Sincronização manual necessária 1
XMLA Sincronização manual necessária 1

1 - Com autoSyncReadOnlyReplicas in queryScaleOutSettings definido como false.

Gerenciamento de réplicas

A expansão cria uma réplica de modelo semântico de leitura-gravação e quantas réplicas somente leitura forem necessárias. Todas as operações de gravação são direcionadas para a réplica de leitura-gravação. Isso inclui consultas em sessões que visam a réplica de leitura-gravação explicitamente, ou seja, não usam ?readonly na cadeia de conexão. Essas consultas podem causar alto uso interativo da CPU na réplica de leitura-gravação. Nesses casos, uma nova réplica não é criada porque a carga de consulta direcionada à réplica de leitura-gravação não pode ser distribuída para réplicas somente leitura.

O número de réplicas somente leitura é determinado com base no número de CUs que suas consultas consomem. Se a demanda exceder os recursos de computação atualmente disponíveis em um nó onde o modelo é carregado e permanecer alta, uma réplica somente leitura adicional poderá ser criada em outro nó para distribuir a carga. O número total de UCs consumidas por todas as réplicas combinadas, no entanto, não pode exceder o número máximo de CUs que um único modelo pode consumir em sua determinada capacidade de SKU.

Por exemplo, um determinado modelo semântico em uma capacidade F64 terá recursos suficientes em um único nó para consumir todas as CUs permitidas nessa SKU. Portanto, as capacidades F64 normalmente não são dimensionadas além de uma única réplica somente leitura. Por outro lado, as capacidades F256 e F1024+ são mais propensas a criar uma segunda réplica somente leitura porque um único nó pode não ser suficiente para fornecer todas as UCs que podem ser usadas em uma capacidade F256/F1024+.

O QSO foi projetado para aproveitar o poder de computação disponível de um determinado SKU de capacidade da forma mais eficiente e transparente possível, com o menor número de réplicas somente leitura e sem sobrecarga de gerenciamento para proprietários de modelos semânticos.

No entanto, a carga atual em uma capacidade pode ser alta o suficiente para causar limitação se mais réplicas forem adicionadas. A limitação impede que réplicas adicionais somente leitura atinjam um alto uso sustentado da CPU. Nesses casos, uma nova réplica somente leitura de expansão não é criada.

Uma réplica é removida quando o uso de para o modelo reduz o suficiente e permanece consistentemente baixo o suficiente.

Pré-requisitos

Por padrão, a expansão está habilitada para seu locatário, mas não está habilitada para modelos semânticos em seu locatário. Para habilitar a expansão para um modelo semântico, você deve usar as APIs REST do Power BI. Antes de habilitar, os seguintes pré-requisitos devem ser atendidos:

  • A configuração Consultas de expansão para modelos semânticos grandes para seu locatário está habilitada (padrão).

  • Seu espaço de trabalho reside em uma capacidade do Power BI Premium:

    • Premium por usuário (PPU)
    • Power BI Premium P SKUs
    • SKUs do Power BI A para Power BI Embedded (também conhecido como incorporar para seus clientes).
    • SKUs de tecido F
  • A configuração de formato de armazenamento de modelo semântico grande está habilitada.

  • Para gerenciar modelos semânticos usando a API REST, use cmdlets de Gerenciamento do Power BI. Instale abrindo o PowerShell no modo Administrador e executando o comando:

    Install-Module -Name MicrosoftPowerBIMgmt
    
  • As seguintes versões (ou superiores) de aplicativos, bibliotecas e serviços oferecem suporte à conexão com réplicas somente leitura:

    Aplicação, biblioteca ou serviço Versão
    Provedor OLE DB do Microsoft Analysis Services para Microsoft SQL Server (MSOLAP) 16.0.20.201 (março 2022)
    Microsoft.AnalysisServices.AdomdClient (ADOMD.NET) 19.36.0 (março de 2022)
    Power BI Desktop Junho de 2022
    SQL Server Management Studio (SSMS) 19,0
    Editor de Tabelas 2 2.16.6
    Editor de Tabelas 3 3.2.3
    DAX Estúdio 3.0.0

Configurar o dimensionamento para um modelo semântico

Para saber como habilitar ou desabilitar a expansão para um modelo semântico ou obter o status de expansão usando o PowerShell e as APIs REST, consulte Configurar a expansão do modelo semântico.

Conectar-se a um tipo de modelo semântico específico

Quando a expansão está habilitada, as seguintes conexões são mantidas:

  • Por padrão, o Power BI Desktop se conecta a uma réplica somente leitura.

  • Os relatórios de conexão em tempo real se conectam a uma réplica somente leitura.

  • Os aplicativos cliente XMLA se conectam ao modelo semântico de leitura-gravação por padrão.

  • As atualizações no serviço do Power BI e as atualizações usando a API REST de Atualização Aprimorada se conectam ao modelo semântico de leitura-gravação.

Você pode se conectar a uma réplica somente leitura ou ao modelo semântico de leitura-gravação anexando uma das seguintes cadeias de caracteres à URL do modelo semântico:

  • Só de leitura - ?readonly
  • Leitura-gravação - ?readwrite

Desativar a expansão do modelo semântico para o seu inquilino

A expansão do modelo semântico do Power BI é habilitada por padrão para um locatário. Os administradores de locatários do Power BI podem desabilitar essa configuração. Para desabilitar a expansão do modelo semântico para o locatário, faça o seguinte:

  1. Aceda às definições do seu inquilino.

  2. Em Configurações de expansão, expanda Consultas de expansão para modelos semânticos grandes.

  3. Alterne o interruptor para Desativado.

  4. Selecione Aplicar.

    Uma captura de tela mostrando como desabilitar as configurações de locatário de expansão no portal de administração do Power BI.

Considerações e limitações

  • Os aplicativos cliente podem se conectar a uma réplica somente leitura por meio do ponto de extremidade XMLA, desde que ofereçam suporte ao modo especificado na cadeia de conexão. Os aplicativos cliente também podem se conectar à instância de leitura-gravação usando o ponto de extremidade XMLA.

  • As atualizações manuais e agendadas são sempre sincronizadas automaticamente com a versão mais recente das réplicas somente leitura. As atualizações da API REST respeitam a configuração de sincronização automática. Se a sincronização automática estiver desabilitada, seu modelo semântico deverá ser sincronizado com as réplicas somente leitura usando a API REST de sincronização manual.

  • Com a sincronização automática desabilitada, as atualizações e atualizações XMLA devem ser sincronizadas com as cópias do modelo semântico somente leitura usando a API REST de sincronização.

  • Ao excluir um modelo semântico de expansão do Power BI e criar outro modelo semântico com o mesmo nome, aguarde cinco minutos antes de criar o novo modelo semântico. O Power BI pode demorar um pouco para remover as réplicas do modelo semântico primário.

  • Quando a expansão do modelo semântico do Power BI está habilitada e autoSyncReadOnlyReplicas=falsenão há suporte para alterações nos seguintes recursos:

    • Adicionar ou excluir funções
    • Atualizando o conjunto de associações de função para qualquer função
    • Modificando uma fonte de dados
    • Excluindo fontes de dados usadas por um DirectQuery ou uma tabela dupla
    • Alterações em expressões de segurança em nível de objeto (OLS) ou RLS (segurança dinâmica em nível de linha)

    Para fazer alterações nesses recursos, desative a expansão e aguarde alguns minutos para que a alteração ocorra antes de reativar.

  • A descoberta de associações de função usando o conjunto de linhas do TMSCHEMA_ROLE_MEMBERSHIPS DMV (Dynamic Management View) não retorna nenhum resultado quando executado na réplica somente leitura.

  • Os relatórios que usam uma conexão Live sempre se conectam à réplica somente leitura, mesmo que a cadeia de conexão use ?readwrite. No entanto, no Power BI Desktop, relatórios de conexão em tempo real usando ?readwrite conectar-se à réplica de leitura-gravação.

  • O DBSCHEMA_CATALOGS e DISCOVER_XML_METADATA os conjuntos de linhas DMV (Dynamic Management View), retornam informações de réplica de leitura/gravação ao usar ?readonly na cadeia de conexão.

  • O criador de perfil do SQL Server não funciona com a ?readonly cadeia de conexão.

  • Essas operações acionam a sincronização automática mesmo quando a sincronização automática está desativada (AutoSync=Off).

    • Migração de um espaço de trabalho de uma capacidade para outra.
    • Alternar (ou girar) a versão da chave usada para Bring your own encryption keys (BYOK).
    • Mover o espaço de trabalho de um modelo semântico de uma capacidade que não usa BYOK para uma capacidade que usa BYOK.
    • Mover o espaço de trabalho de um modelo semântico de uma capacidade que usa BYOK para uma capacidade que não usa BYOK.
    • Restaurando um modelo semântico usando o ponto de extremidade XMLA público.
  • A desativação do formato de armazenamento de modelo semântico grande desativa a expansão e perde todas as informações de sincronização.