Escolher um modo de armazenamento
A primeira decisão de design para qualquer modelo semântico no Microsoft Fabric é como os dados fluem para o modelo. O modo de armazenamento escolhido afeta o desempenho da consulta, a atualização de dados e quais recursos de Fabric estão disponíveis. Em Fabric, Direct Lake é o padrão e, para a maioria das cargas de trabalho, é a escolha certa.
Modo Direct Lake
Direct Lake é o modo de armazenamento padrão para modelos semânticos criados em Microsoft Fabric. Ao contrário do modo de importação, o Direct Lake não copia dados para o modelo. Ao contrário do DirectQuery, ele não converte consultas no SQL de origem. Em vez disso, o Direct Lake lê tabelas Delta diretamente do OneLake na memória, o que combina a velocidade de Importação com o frescor do DirectQuery.
Quando um usuário abre um relatório apoiado por um modelo semântico do Direct Lake, o mecanismo carrega dados de coluna de arquivos Delta Parquet conforme necessário. Você não precisa agendar uma atualização, como faz com o modo de importação. Quando as tabelas Delta subjacentes são atualizadas, o modelo reflete essas alterações.
Os modelos Direct Lake habilitam automaticamente o formato de armazenamento de modelo semântico de grande porte. Essa configuração remove o limite de tamanho do modelo de 10 GB e é um pré-requisito para o escalonamento de consulta e o acesso de leitura e gravação no ponto de extremidade XMLA. Você não precisa habilitá-lo manualmente para modelos do Direct Lake.
Opções de conexão do Direct Lake
Os modelos do Direct Lake podem se conectar aos dados por meio de dois caminhos:
- Tabelas OneLake: O modelo se conecta diretamente às tabelas Delta em um lakehouse ou armazém. Esse é o caminho mais simples e funciona bem quando seus dados estão em um único armazenamento de dados Fabric.
- Ponto de extremidade de análise SQL: O modelo se conecta por meio do ponto de extremidade SQL de um lakehouse ou warehouse. Esse caminho permite o acesso a exibições, consultas entre bancos de dados e recursos de segurança definidos na camada SQL.
Escolha tabelas do OneLake quando seus dados forem simples e estiverem localizados em um único lugar. Escolha o ponto de extremidade de análise SQL quando precisar de visões, junções entre múltiplas fontes ou segurança em nível de linha definida no SQL.
Comportamento de fallback
Algumas operações podem fazer com que um modelo do Direct Lake retorne ao modo DirectQuery. Cálculos complexos do DAX, consultas que excedem a memória disponível ou determinadas operações sem suporte disparam esse fallback. Quando ocorre fallback, a consulta é executada no endpoint de análise do SQL em vez de ler arquivos Delta diretamente.
Você pode definir o comportamento de fallback nas configurações de modelo semântico:
- Permitir fallback: consultas que não podem ser executadas no modo Direct Lake retornam automaticamente ao DirectQuery. O usuário obtém resultados, mas o desempenho pode diminuir.
- Não permitir fallback: consultas que não podem ser executadas no modo Direct Lake retornam um erro. Essa opção impõe um desempenho consistente, mas exige que todas as consultas permaneçam dentro dos recursos do Direct Lake.
Para a maioria das cargas de trabalho de produção, comece com o fallback ativado e monitore quais consultas o acionam. Em seguida, otimize essas consultas ou estruturas de dados para reduzir a frequência de fallback ao longo do tempo.
Modo de importação
O modo de importação copia dados no modelo semântico e os armazena em um formato compactado na memória. As consultas são executadas na cópia local, o que torna o modo de armazenamento 'Import' o mais rápido para a execução de consultas. No entanto, os dados são tão atuais quanto a última atualização.
O modo de importação é a escolha certa quando:
- Sua fonte de dados está fora Fabric (bancos de dados locais, APIs de terceiros, arquivos simples).
- O desempenho de consulta é a prioridade máxima e a atualização dos dados quase em tempo real não é necessária.
- Você precisa de recursos que ainda não têm suporte no Direct Lake.
Dica
Ao usar o modo de importação, conecte-se a exibições em vez de tabelas brutas, inclua apenas as colunas necessárias e use os tipos de dados apropriados para reduzir o tamanho do modelo. Saiba mais sobre técnicas para reduzir os dados carregados em modelos de importação.
Modo DirectQuery
O DirectQuery envia consultas diretamente à fonte de dados no momento da consulta. Nenhum dado é armazenado no modelo, o que torna o DirectQuery adequado para cenários de dados em tempo real e conjuntos de dados muito grandes que não podem ser importados.
A compensação é o desempenho. Cada interação de relatório gera uma consulta no sistema de origem. O DirectQuery funciona melhor quando:
- Os dados em tempo real são necessários e até mesmo atrasos curtos de atualização não são aceitáveis.
- Os volumes de dados de origem são muito grandes para serem importados e a fonte de dados está fora Fabric.
- Os requisitos de governança determinam que os dados permaneçam na origem.
Dica
Para obter mais informações, consulte as diretrizes de modelo do DirectQuery.
Modo composto
O modo composto combina modos de armazenamento em um único modelo. Algumas tabelas usam Import, enquanto outras usam DirectQuery ou Direct Lake. Isso fornece flexibilidade para cenários em que diferentes tabelas têm diferentes necessidades de desempenho e atualização.
Por exemplo, uma tabela de fatos grande pode permanecer no Direct Lake, enquanto uma pequena tabela de referência de uma fonte externa usa Import. O modo composto também permite relações muitos para muitos entre tabelas de diferentes fontes de dados.
Use o modo de composição quando:
- Você precisa de dados de fontes Fabric e não Fabric no mesmo modelo.
- Algumas tabelas exigem dados em tempo real, enquanto outras se beneficiam do desempenho armazenado em cache.
- Você precisa combinar tabelas do Direct Lake com tabelas de importação para análise entre fontes.
Escolher o modo de armazenamento correto
A tabela a seguir resume quando escolher cada modo:
| Modo | Localização dos dados | Velocidade da consulta | Atualização de dados | Mais indicado para |
|---|---|---|---|---|
| Direct Lake | OneLake (tabelas Delta) | Rápido | Quase em tempo real | cargas de trabalho nativas do Fabric (padrão) |
| Importação | Cache em modelo | Mais rápido | Dependente de atualização | Fontes não Fabric, desempenho máximo |
| DirectQuery | Sistema de origem | Depende do sistema de origem | Quase em tempo real | Requisitos em tempo real, dados externos muito grandes |
| Composição | Misturado | Variedade | Misturado | Cenários de origem cruzada, requisitos híbridos |
O modo de armazenamento também afeta o consumo de IA. Quando Copilot ou agentes de dados consultam um modelo semântico, eles retornam respostas com base em quaisquer dados que o modelo reflita no momento. A atualização quase em tempo real do Direct Lake significa que as consultas de IA retornam os resultados atuais sem esperar por uma atualização agendada. Para modelos que atendem usuários humanos e IA, a opção de modo de armazenamento afeta diretamente a qualidade de ambas as experiências.
Em Fabric, comece com Direct Lake. Mova para outro modo somente quando o seu cenário específico assim exigir.