Modos de conjunto de dados no serviço do Power BI

Este artigo fornece uma explicação técnica dos modos de conjunto de dados do Power BI. Essas informações se aplicam a conjuntos de dados que representam uma conexão dinâmica a um modelo de Analysis Services hospedado externamente e também a modelos desenvolvidos no Power BI Desktop. O artigo enfatiza a lógica de cada modo e possíveis impactos nos recursos de capacidade do Power BI.

Os três modos de conjunto de dados são:

Modo de importação

O modo Importação é o modo mais comum usado para desenvolver conjunto de dados. Esse modo oferece desempenho rápido graças à consulta na memória. Também oferece flexibilidade de design para modeladores e suporte a recursos específicos do serviço do Power BI (P e R, Insights Rápidos etc.). Devido a esses pontos fortes, ele é o modo padrão quando você cria uma nova solução do Power BI Desktop.

É importante entender que os dados importados são sempre armazenados em disco. Quando consultados ou atualizados, os dados devem ser totalmente carregados na memória da capacidade do Power BI. Uma vez na memória, os modelos de Importação podem obter resultados de consulta muito rapidamente. Também é importante entender que não há nenhum conceito de modelo de Importação que seja carregado parcialmente na memória.

Ao serem atualizados, os dados que são compactados e otimizados e, em seguida, armazenados em disco pelo mecanismo de armazenamento VertiPaq. Quando carregado do disco na memória, é possível ver a compactação 10 vezes. Portanto, espera-se que 10 GB de dados de origem possam ser compactados em aproximadamente 1 GB. O tamanho do armazenamento em disco pode atingir uma redução de 20% do tamanho compactado. A diferença de tamanho pode ser determinada comparando o tamanho do arquivo Power BI Desktop com o uso de memória do gerenciador de tarefas do arquivo.

A flexibilidade de design pode ser obtida de três maneiras:

  • Integre dados armazenando dados em cache de fluxos de dados e fontes de dados externas, seja qual for o tipo ou formato da fonte de dados.
  • Use todo o conjunto de Power Query linguagem de fórmula M, conhecida como M, funções ao criar consultas de preparação de dados.
  • Aplique todo o conjunto de funções DAX (Data Analysis Expressions) ao aprimorar o modelo com lógica de negócios. Há suporte para colunas calculadas, tabelas calculadas e medidas.

Conforme mostrado na imagem a seguir, um modelo de Importação pode integrar dados de diversos tipos de fonte de dados com suporte.

O diagrama mostra que um modelo de importação pode integrar dados de qualquer número de tipos de fonte de dados externos.

Porém, embora haja vantagens atraentes associadas aos modelos de Importação, também há desvantagens:

  • Todo o modelo deve ser carregado na memória antes que o Power BI possa consultar o modelo, o que pode pressionar os recursos de capacidade disponíveis, especialmente à medida que o número e o tamanho dos modelos de Importação aumentam.
  • Os dados do modelo são tão atuais quanto a atualização mais recente e, portanto, os modelos de importação precisam ser atualizados, geralmente em uma base agendada.
  • Uma atualização completa remove todos os dados de todas as tabelas e os recarrega da fonte de dados. Essa operação pode ser cara em termos de tempo e recursos para o serviço do Power BI e as fontes de dados.

Observação

O Power BI pode obter uma atualização incremental para evitar truncar e recarregar tabelas inteiras. Para obter mais informações, incluindo planos e licenciamento com suporte, consulte Atualização incremental e dados em tempo real para conjuntos de dados.

Da perspectiva de um recurso do serviço do Power BI, os modelos de Importação exigem:

  • Memória suficiente para carregar o modelo quando ele é consultado ou atualizado.
  • Processando recursos e recursos de memória extra para atualizar dados.

Modo DirectQuery

O modo DirectQuery é uma alternativa ao modo de Importação. Os modelos desenvolvidos no modo DirectQuery não importam dados. Em vez disso, eles contêm apenas metadados que definem a estrutura do modelo. Quando o modelo é consultado, as consultas nativas são usadas para recuperar os dados da fonte de dados subjacente.

O diagrama mostra como o modelo directQuery emite consultas nativas para a fonte de dados subjacente.

Há dois motivos principais para considerar desenvolver um modelo DirectQuery:

  • Quando os volumes de dados são muito grandes, mesmo quando os métodos de redução de dados são aplicados , para carregar em um modelo ou praticamente atualizar.
  • Quando os relatórios e dashboards precisam fornecer dados quase em tempo real , além do que pode ser alcançado dentro dos limites de atualização agendados. Os limites de atualização agendados são oito vezes por dia para capacidade compartilhada e 48 vezes por dia para uma capacidade Premium.

Há diversas vantagens associadas aos modelos DirectQuery:

  • Os limites de tamanho do modelo de importação não se aplicam.
  • Os modelos não exigem atualização de dados agendada.
  • Os usuários do relatório veem os dados mais recentes ao interagir com filtros de relatório e segmentações de dados. Além disso, os usuários de relatórios podem atualizar o relatório inteiro para recuperar dados atuais.
  • Relatórios em tempo real podem ser desenvolvidos usando o recurso de Atualização automática de página.
  • Os blocos de painel, quando baseados em modelos DirectQuery, podem ser atualizados automaticamente com a mesma frequência que a cada 15 minutos.

No entanto, há algumas limitações associadas aos modelos do DirectQuery:

  • Power Query/Mashup só podem ser funções que podem ser transpostas para consultas nativas compreendidas pela fonte de dados.
  • As fórmulas DAX são limitadas a usar apenas funções que podem ser transpostas para consultas nativas compreendidas pela fonte de dados. Não há suporte para tabelas calculadas.
  • Não há suporte para os recursos de Insights Rápidos.

Da perspectiva de um recurso do serviço do Power BI, os modelos DirectQuery exigem:

  • Memória mínima para carregar o modelo (somente metadados) quando for consultado.
  • Às vezes, o serviço do Power BI deve usar recursos significativos do processador para gerar e processar consultas enviadas à fonte de dados. Quando essa situação surge, ela pode afetar a taxa de transferência, especialmente quando usuários simultâneos estão consultando o modelo.

Para obter mais informações, consulte Usar o DirectQuery no Power BI Desktop.

Modo Composto

O modo Composto pode combinar os modos de Importação e DirectQuery ou integrar várias fontes de dados DirectQuery. Os modelos desenvolvidos no modo Composto dão suporte à configuração do modo de armazenamento para cada tabela de modelo. Esse modo também dá suporte a tabelas calculadas, definidas com DAX.

O modo de armazenamento de tabela pode ser configurado como Importação, DirectQuery ou Dual. Uma tabela configurada como modo de armazenamento Dual é ao mesmo tempo de Importação e DirectQuery, e essa configuração permite que o serviço do Power BI determine o modo mais eficiente a ser usado de acordo com cada consulta.

O diagrama mostra que um modelo composto é uma combinação dos modos de armazenamento Importar e DirectQuery, configurados no nível da tabela.

Os modelos Compostos oferecem o melhor dos modos de Importação e DirectQuery. Quando configurados adequadamente, eles podem combinar o alto desempenho de consulta de modelos na memória com a capacidade de recuperar dados quase em tempo real de fontes de dados.

Para obter mais informações, confira Usar modelos compostos no Power BI Desktop.

Tabelas Importação Pura e DirectQuery

Os modeladores de dados que desenvolvem modelos Compostos provavelmente configuram tabelas de tipo de dimensão no modo de armazenamento Importação ou Dual, bem como tabelas de tipo de fato no modo DirectQuery. Para obter mais informações sobre as funções de tabela de modelo, confira Entender o esquema em estrela e a importância para o Power BI.

Por exemplo, considere um modelo com uma tabela de tipo de dimensão Produto no modo Dual e uma tabela de tipo de fato Vendas no modo DirectQuery. A tabela Produto poderia ser consultada de forma rápida e eficiente na memória para renderizar uma segmentação de relatório. A tabela Vendas também pode ser consultada no modo DirectQuery com a tabela Produto relacionada. A última consulta pode habilitar a geração de uma única consulta SQL nativa e eficiente que une as tabelas Produto e Vendas e as filtra pelos valores de segmentação.

Tabelas híbridas

Os modeladores de dados que desenvolvem modelos Compostos também podem configurar tabelas Fato como tabelas híbridas. Uma tabela híbrida é uma tabela com uma ou várias partições Importação e uma partição DirectQuery. A vantagem de uma tabela híbrida é que ela pode ser consultada com eficiência e rapidez na memória e, ao mesmo tempo, incluir as alterações de dados mais recentes da fonte de dados que ocorreram após o último ciclo de importação, como ilustra a visualização a seguir.

A captura de tela mostra uma partição de tabela híbrida com linhas arquivadas, incrementais e em tempo real marcadas.

A maneira mais fácil de criar uma tabela híbrida é configurar uma política de atualização incremental no Power BI Desktop e habilitar a opção Obter os dados mais recentes em tempo real com o DirectQuery (somente Premium). Quando o Power BI aplica uma política de atualização incremental que tem essa opção habilitada, ele particiona a tabela como o esquema de particionamento exibido no diagrama anterior. Para garantir um bom desempenho, configure as tabelas do tipo dimensão no modo de armazenamento duplo para que o Power BI possa gerar consultas SQL nativas eficientes ao consultar a partição do DirectQuery.

Observação

O Power BI dá suporte a tabelas híbridas somente quando o conjunto de dados está hospedado em workspaces em capacidades Premium. Dessa forma, você deve carregar seu conjunto de dados em um workspace Premium caso configure uma política de atualização incremental com a opção de obter os dados mais recentes em tempo real com o DirectQuery. Para obter mais informações, consulte Atualização incremental e dados em tempo real para conjunto de dados.

Também é possível converter uma tabela De importação em uma tabela híbrida adicionando uma partição DirectQuery usando a TMSL (Linguagem de Script de Modelo Tabular) ou o TOM (Modelo de Objeto Tabular) ou usando uma ferramenta de terceiros. Por exemplo, você pode particionar uma tabela Fato de modo que a maior parte dos dados seja deixada no data warehouse, enquanto apenas uma fração dos dados mais recentes é importada. Essa abordagem pode ajudar a otimizar o desempenho se a maior parte desses dados for dados históricos que são acessados com pouca frequência. Uma tabela híbrida pode ter várias partições Importação, mas apenas uma partição DirectQuery.

Próximas etapas