Pular para o conteúdo
Fynx
Power BI8 min de leitura

Import vs DirectQuery vs Direct Lake no Power BI

Import vs DirectQuery Power BI e o novo Direct Lake do Fabric: como cada modo guarda e consulta dados, o que muda em performance e quando usar cada um.

F
Fynx

A decisão de armazenamento define a performance antes de qualquer medida DAX

A maioria dos relatórios lentos não fica lenta por causa de uma medida mal escrita. Fica lenta porque escolheram o modo de armazenamento errado lá no começo, e ninguém voltou para revisar. A discussão Import vs DirectQuery Power BI parece um detalhe técnico que só o desenvolvedor precisa entender, mas ela decide se o relatório abre em um segundo ou em quinze, se os dados são de agora ou de ontem, e quanto a fonte de origem vai sofrer toda vez que alguém clicar em um filtro. Com o Microsoft Fabric, entrou um terceiro modo na conversa, o Direct Lake, que promete juntar o melhor dos dois mundos. Este guia explica os três sem torcer para nenhum, e mostra em que cenário cada um faz sentido.

O modo Import carrega os dados para dentro do modelo e consulta na memória

No modo Import, o Power BI copia os dados da origem para dentro do próprio arquivo, comprimidos pelo motor VertiPaq. O VertiPaq é um mecanismo colunar em memória: ele guarda cada coluna separada e comprime pela cardinalidade, ou seja, quanto menos valores distintos uma coluna tem, menor ela fica. Uma coluna de status com cinco valores ocupa quase nada; uma coluna de data e hora com segundos ocupa muito. Por isso a modelagem importa tanto no Import.

A grande vantagem é a velocidade. Como os dados estão na memória e comprimidos, as consultas DAX voam. É o modo que entrega a melhor experiência interativa, com toda a linguagem DAX disponível e sem limitações de recurso. O custo é que os dados não são ao vivo: eles refletem o último refresh. Se o relatório atualiza de madrugada, durante o dia ele mostra a foto da noite anterior. E o tamanho do modelo fica limitado pela memória da capacidade ou pela licença, então volumes muito grandes exigem cuidado.

Import é a escolha padrão para a maioria dos relatórios corporativos: vendas, financeiro, operações, indicadores gerenciais. Onde atualizar algumas vezes ao dia é suficiente, ele quase sempre é a resposta certa.

O modo DirectQuery mantém os dados na origem e consulta em tempo real

No DirectQuery, o Power BI não copia nada. Ele guarda só a estrutura do modelo e, a cada interação do usuário, gera uma consulta e manda para a fonte original, seja um banco SQL, um data warehouse ou outra base. O resultado volta e é exibido.

A vantagem óbvia é o dado sempre atual: o relatório mostra o que está na origem naquele instante. Também não há limite de memória do modelo, porque os dados ficam na fonte. Isso o torna atraente para bases enormes ou para casos que exigem frescor absoluto, como monitoramento operacional.

Os custos são reais e é honesto colocá-los na mesa. Cada clique vira uma consulta na origem, então a performance depende do banco e da rede, e costuma ser mais lenta que o Import. Parte da linguagem DAX fica limitada ou é traduzida para SQL de forma menos eficiente. E há a carga na fonte: se muitos usuários abrem o relatório ao mesmo tempo, o banco de produção sente. DirectQuery pede uma origem bem indexada e, de preferência, dedicada a analytics.

O modo Direct Lake lê direto do OneLake sem importar nem consultar a origem

O Direct Lake é o modo que chegou com o Microsoft Fabric e muda a equação. Em vez de importar os dados ou de consultar um banco transacional a cada clique, ele lê diretamente os arquivos em formato Delta e Parquet que estão no OneLake, o data lake unificado do Fabric. Não há um processo de refresh copiando dados para dentro do modelo, e não há uma consulta indo para um banco de origem toda vez.

Na prática, ele busca entregar performance perto do Import sem o passo de importação e sem a defasagem do refresh, porque lê a mesma cópia dos dados que já está no lake. Quando encontra um cenário que não consegue resolver diretamente, ele pode cair para DirectQuery de forma transparente, o chamado fallback. É um modo poderoso, mas com um pré-requisito claro: ele vive dentro do Fabric e exige capacidade Fabric, além de que os dados precisam estar organizados no OneLake em formato adequado. Não é algo que você liga em qualquer relatório antigo sem uma plataforma de dados por trás.

Uma tabela lado a lado deixa a escolha mais concreta

CritérioImportDirectQueryDirect Lake
Onde ficam os dadosCopiados para o modelo (VertiPaq)Na origem, consultados a cada interaçãoNo OneLake, lidos direto em Delta/Parquet
AtualidadeÚltima carga (refresh)Tempo realPróximo do tempo real, sem refresh de cópia
Performance de consultaMelhorDepende da origem, geralmente menorPróxima do Import
Carga na fonteSó no refreshA cada clique do usuárioBaixa, lê o lake
Cobertura de DAXCompletaLimitada em partesAmpla, com fallback quando necessário
Pré-requisitoNenhum especialOrigem robusta e indexadaCapacidade Fabric e dados no OneLake
Melhor paraRelatórios gerenciais no geralFrescor absoluto e bases muito grandesPlataforma de dados moderna no Fabric

O modelo composto permite misturar Import e DirectQuery na mesma solução

Nem sempre a resposta é um modo só. O modelo composto, ou composite model, deixa você combinar tabelas em Import com tabelas em DirectQuery no mesmo modelo. Um padrão comum é manter as dimensões e o histórico consolidado em Import, para velocidade, e deixar a tabela de fatos mais recente ou mais volumosa em DirectQuery, para frescor. É uma ferramenta de arquitetura útil, mas que exige cuidado com relacionamentos e com a experiência do usuário, porque parte do relatório herda as limitações do DirectQuery.

Como escolher o modo certo depende do cenário, não da moda

A pergunta a fazer não é qual modo é o melhor, e sim qual problema você está resolvendo. Se o requisito é um relatório gerencial rápido, com atualização algumas vezes ao dia, o Import resolve com folga e é o caminho mais simples. Se a exigência é ver o dado exatamente como está na origem, agora, e a base é robusta o suficiente para aguentar as consultas, o DirectQuery se justifica. Se a empresa já está construindo uma plataforma moderna no Fabric, com dados organizados no OneLake, o Direct Lake oferece um caminho que une performance e atualidade sem o custo do refresh.

Na maioria dos projetos que acompanhamos, a decisão vem do requisito de negócio (com que frequência o dado precisa mudar) e da maturidade da plataforma (existe um lake no Fabric ou não). Definir isso antes de modelar evita a retrabalho mais caro de todos, que é migrar de modo depois que o relatório já está em produção. Se quiser aprofundar a base do modelo, vale ver o guia completo de Power BI para empresas e conhecer nossos serviços de Power BI.

Perguntas frequentes

Direct Lake substitui o Import? Não substitui em todo lugar. O Direct Lake é excelente quando a empresa já tem uma plataforma no Fabric com dados no OneLake. Fora desse contexto, o Import continua sendo a escolha mais simples e madura para a maioria dos relatórios.

DirectQuery é sempre mais lento que Import? Na prática, quase sempre, porque cada interação gera uma consulta na origem em vez de ler dados já comprimidos na memória. A diferença pode ser pequena com uma origem muito bem preparada, mas o Import parte na frente em performance.

Posso mudar de Import para DirectQuery depois? É possível, mas não é trivial. Trocar o modo pode exigir revisar medidas, relacionamentos e a própria origem. Por isso vale decidir o modo certo no início, olhando o requisito de atualidade e o volume de dados.

Direct Lake precisa de refresh? Ele não faz a cópia de dados que o Import faz, porque lê direto os arquivos do OneLake. O que mantém tudo atualizado é o processo que grava os dados no lake, então o cuidado se desloca para o pipeline de dados.

O que é fallback no Direct Lake? É quando o Direct Lake encontra um cenário que não consegue resolver lendo o lake diretamente e, de forma transparente, passa a usar DirectQuery para aquela consulta. Entender quando isso acontece ajuda a manter a performance previsível.

Qual modo consome menos a base de produção? O Import só toca a origem no momento do refresh, então protege a base de produção durante o dia. O DirectQuery é o que mais pesa, porque consulta a cada clique. O Direct Lake lê o lake, não o banco transacional, então também poupa a produção.

Comece pela pergunta certa

Antes de abrir o Power BI, defina com que frequência o dado precisa mudar e onde ele mora. A resposta a essas duas perguntas aponta o modo quase sozinha. Se quiser ajuda para desenhar essa arquitetura sem retrabalho, fale com a gente.

Quer aplicar isso na sua empresa?

A Fynx implementa BI, Power BI e Power Platform de ponta a ponta. Conte seu cenário e devolvemos um diagnóstico direto ao ponto.

Falar com um especialista

Vamos transformar seus dados em decisão?

Conte seu cenário. Devolvemos um diagnóstico e uma proposta com faixa de investimento em poucos dias úteis, sem folheto, direto ao ponto.