Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo fornece uma explicação técnica dos modos de modelo semântico do Power BI. Aplica-se a modelos semânticos que representam uma conexão dinâmica com um modelo do Analysis Services hospedado externamente e também a modelos desenvolvidos no Power BI Desktop. O artigo enfatiza a lógica para cada modo e possíveis impactos nos recursos de capacidade do Power BI.
Os três modos de modelo semântico são:
Modo de importação
O modo de importação é o modo mais comum usado para desenvolver modelos semânticos. Esse modo oferece um desempenho rápido graças à consulta na memória. Ele também oferece flexibilidade de design para modeladores e suporte para recursos de serviço específicos do Power BI (Q&A, Quick Insights etc.). Devido a esses pontos fortes, é o modo padrão ao criar 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 rápidos. Também é importante entender que não existe o conceito de um modelo Import sendo carregado parcialmente na memória.
Quando atualizados, os dados são compactados e otimizados e armazenados em disco pelo mecanismo de armazenamento VertiPaq. Ao ser carregado do disco para a memória, é possível observar uma compressão de até 10 vezes. Portanto, é razoável esperar que 10 GB de dados de origem possam ser compactados para aproximadamente 1 GB de tamanho. O tamanho do armazenamento em disco pode obter uma redução de 20% do tamanho compactado. A diferença de tamanho pode ser determinada comparando o tamanho do arquivo do 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, qualquer que seja o tipo ou formato da fonte de dados.
- Use todo o conjunto de funções da linguagem de fórmulas Power Query M, conhecida como M, ao criar consultas de preparação de dados.
- Aplique todo o conjunto de funções DAX (Data Analysis Expressions) ao aprimorar o modelo com a 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 qualquer número de tipos de fonte de dados com suporte.
No entanto, embora haja vantagens convincentes 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 modelos semânticos.
Do ponto de vista do recurso de serviço do Power BI, os modelos de importação exigem:
- Memória suficiente para carregar o modelo quando ele é consultado ou atualizado.
- Processamento de recursos e 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 consistem apenas em metadados que definem a estrutura do modelo. Quando o modelo é consultado, as consultas nativas são usadas para recuperar dados da fonte de dados subjacente.
Há duas razões principais para considerar o desenvolvimento de 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, se tornam difíceis de carregar em um modelo ou atualizar de maneira prática.
- 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 a capacidade compartilhada e 48 vezes por dia para uma capacidade Premium.
Há várias vantagens associadas aos modelos do 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 de relatório visualizam os dados mais recentes ao interagir com filtros de relatório e segmentações de dados. Além disso, os usuários de relatório podem atualizar todo o relatório para recuperar os dados atuais.
- Os 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 maior frequência que a cada 15 minutos.
No entanto, há algumas limitações associadas aos modelos do DirectQuery:
- As expressões 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 recursos do Quick Insights.
Do ponto de vista do recurso de serviço do Power BI, os modelos do DirectQuery exigem:
- Memória mínima para carregar o modelo (somente metadados) quando ele é consultado.
- Às vezes, o serviço do Power BI deve usar recursos de processador significativos 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 misturar os modos Importar e DirectQuery ou integrar várias fontes de dados do 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 é Import e DirectQuery, e essa configuração permite que o serviço do Power BI determine o modo mais eficiente a ser usado a cada consulta.
Os modelos compostos se esforçam para oferecer o melhor dos modos Import 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, consulte Usar modelos compostos no Power BI Desktop.
Tabelas Pure Import e DirectQuery
Os modeladores de dados que desenvolvem modelos compostos provavelmente configurarão tabelas do tipo dimensão no modo de importação ou armazenamento duplo e tabelas de tipo de fato no modo DirectQuery. Para obter mais informações sobre as funções de tabela de modelo, consulte Entenda o esquema de 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 pode ser consultada com eficiência e rapidez 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 consulta posterior poderia permitir a geração de uma única consulta SQL nativa eficiente que une as tabelas Produto e Vendas e filtre pelos valores do slicer.
Tabelas híbridas
Os modeladores de dados que desenvolvem modelos compostos também podem configurar tabelas de fatos como tabelas híbridas. Uma tabela híbrida é uma tabela com uma ou várias partições de 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 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 suas tabelas de tipo de 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 modelo semântico é hospedado em workspaces em capacidades Premium. Dessa forma, você deve carregar seu modelo semântico em um workspace Premium se configurar 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 modelos semânticos.
Também é possível converter uma tabela de importação em uma tabela híbrida adicionando uma partição DirectQuery usando a TMSL (Tabular Model Scripting Language) ou o TOM (Tabular Object Model) ou usando uma ferramenta de terceiros. Por exemplo, você pode particionar uma tabela de fatos 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 acessados com pouca frequência. Uma tabela híbrida pode ter várias partições de importação, mas apenas uma partição DirectQuery.