Partilhar via


Consultar dados tal como existiam no passado

Aplica-se a:✅ Armazém no Microsoft Fabric

O Warehouse no Microsoft Fabric oferece a capacidade de consultar dados históricos tal como existiam no passado. A capacidade de consultar dados de um carimbo de data/hora específico é conhecida no setor de armazenamento de dados como viagem no tempo.

  • A viagem no tempo facilita a geração de relatórios estáveis, mantendo a consistência e a precisão dos dados ao longo do tempo.
  • A viagem no tempo permite a análise de tendências históricas consultando vários pontos passados no tempo e ajuda a antecipar as tendências futuras.
  • A viagem no tempo simplifica as comparações de baixo custo entre versões anteriores dos dados.
  • A viagem no tempo ajuda a analisar o desempenho ao longo do tempo.
  • A viagem no tempo permite que as organizações auditem as alterações de dados ao longo do tempo, muitas vezes necessárias para fins de conformidade.
  • A viagem no tempo ajuda a reproduzir os resultados dos modelos de aprendizagem automática.
  • A viagem no tempo pode consultar tabelas tal como existiam num determinado momento em vários armazéns na mesma área de trabalho.

O que é viagem no tempo?

A viagem no tempo em um data warehouse é um recurso eficiente e de baixo custo para consultar rapidamente versões anteriores de dados.

Atualmente, o Microsoft Fabric permite a recuperação de estados anteriores de dados das seguintes maneiras:

Viagem no tempo com o comando PARA CARIMBO DE DATA/HORA A PARTIR DO T-SQL

Dentro de um item de depósito, as tabelas podem ser consultadas usando a sintaxe OPTION FOR TIMESTAMP AS OF T-SQL para recuperar dados em momentos passados. A FOR TIMESTAMP AS OF cláusula afeta toda a declaração, incluindo todas as tabelas de depósito associadas.

Os resultados obtidos a partir das consultas de viagem no tempo são inerentemente somente leitura. Operações de gravação como INSERT, UPDATE e DELETE não podem ocorrer ao utilizar a dica de consulta PARA CARIMBO DE DATA/HORA A PARTIR DE.

Use a cláusula OPTION para especificar a dica de consulta PARA CARIMBO DE DATA/HORA A PARTIR DE. As consultas retornam dados exatamente como existiam no carimbo de data/hora, especificado como YYYY-MM-DDTHH:MM:SS[.fff]. Por exemplo:

SELECT *
FROM [dbo].[dimension_customer] AS DC
OPTION (FOR TIMESTAMP AS OF '2024-03-13T19:39:35.28'); --March 13, 2024 at 7:39:35.28 PM UTC

Use a CONVERT sintaxe para o formato datetime necessário com o estilo 126.

O carimbo de data/hora pode ser especificado apenas uma vez usando a OPTION cláusula para consultas, procedimentos armazenados, visualizações, etc. O OPTION aplica-se a tudo dentro da instrução SELECT .

Para obter exemplos, consulte Como consultar usando viagens no tempo.

Retenção de dados

No Microsoft Fabric, um depósito preserva e mantém automaticamente várias versões dos dados, até um período de retenção padrão de trinta dias corridos. Isso permite a capacidade de consultar tabelas a partir de qualquer point-in-time anterior. Todas as inserções, atualizações e exclusões feitas no data warehouse são mantidas. A retenção começa automaticamente a partir do momento em que o armazém é criado. Os arquivos expirados são excluídos automaticamente após o limite de retenção.

  • Atualmente, uma SELECT instrução com a dica FOR TIMESTAMP AS OF de consulta retorna a versão mais recente do esquema de tabela.
  • Todos os registros excluídos em uma tabela estão disponíveis para serem consultados como existiam antes da exclusão, se a exclusão estiver dentro do período de retenção.
  • Quaisquer modificações feitas no esquema de uma tabela, incluindo, entre outras, a adição ou remoção de colunas da tabela, não podem ser consultadas antes da alteração do esquema. Da mesma forma, soltar e recriar uma tabela com os mesmos dados remove seu histórico.

Cenários de viagem no tempo

Considere a capacidade de viajar no tempo para dados anteriores nos seguintes cenários:

Relatórios estáveis

A execução frequente de trabalhos de extração, transformação e carga (ETL) é essencial para acompanhar o cenário de dados em constante mudança. A capacidade de viajar no tempo suporta esse objetivo, garantindo a integridade dos dados e, ao mesmo tempo, fornecendo a flexibilidade para gerar relatórios com base nos resultados da consulta que são retornados a partir de um ponto no tempo passado, como a noite anterior, enquanto o processamento em segundo plano está em andamento.

As atividades de ETL podem ser executadas simultaneamente enquanto a mesma tabela é consultada a partir de um point-in-time anterior.

Tendência histórica e análise preditiva

A viagem no tempo simplifica a análise de dados históricos, ajudando a descobrir tendências e padrões valiosos através da consulta de dados em vários períodos de tempo passados. Isso facilita a análise preditiva, permitindo a experimentação com conjuntos de dados históricos e o treinamento de modelos preditivos. Ajuda a antecipar tendências futuras e ajuda a tomar decisões bem informadas e baseadas em dados.

Análise e comparação

A viagem no tempo oferece um recurso de solução de problemas eficiente e econômico, fornecendo uma lente histórica para análise e comparação, facilitando a identificação da causa raiz.

Análise de desempenho

A viagem no tempo pode ajudar a analisar o desempenho das consultas de armazém de horas extras. Isso ajuda a identificar as tendências de degradação do desempenho com base nas quais as consultas podem ser otimizadas.

Auditoria e conformidade

A viagem no tempo simplifica os procedimentos de auditoria e conformidade, capacitando os auditores a navegar pelo histórico de dados. Isso não só ajuda a manter a conformidade com os regulamentos, mas também ajuda a aumentar a garantia e a transparência.

Modelos de machine learning

Os recursos de viagem no tempo ajudam na reprodução dos resultados de modelos de aprendizado de máquina, facilitando a análise de dados históricos e simulando cenários do mundo real. Isso aumenta a confiabilidade geral dos modelos para que decisões precisas baseadas em dados possam ser tomadas.

Considerações de design

Considerações para a dica de consulta OPTION FOR TIMESTAMP AS OF :

  • A FOR TIMESTAMP AS OF dica de consulta não pode ser usada para criar as exibições a partir de qualquer ponto no tempo anterior dentro do período de retenção. Ele pode ser usado para consultar visualizações a partir de point-in-time passado, dentro do período de retenção.
  • A FOR TIMESTAMP AS OF dica de consulta pode ser usada apenas uma vez dentro de uma SELECT instrução.
  • A FOR TIMESTAMP AS OF dica de consulta pode ser definida dentro da SELECT instrução em um procedimento armazenado.

Permissões para viagens no tempo

Qualquer usuário que tenha funções de espaço de trabalho Administrador, Membro, Colaborador ou Visualizador pode consultar as tabelas a partir de um point-in-time passado. Quando os usuários consultam tabelas, as restrições impostas pela segurança em nível de coluna (CLS), segurança em nível de linha (RLS) ou mascaramento dinâmico de dados (DDM) são impostas automaticamente.

Limitações

  • Forneça no máximo três dígitos de segundos fracionários no carimbo de data/hora. Se fornecer mais precisão, receberá a mensagem An error occurred during timestamp conversion. Please provide a timestamp in the format yyyy-MM-ddTHH:mm:ss[.fff]. Msg 22440, Level 16, State 1, Code line 29de erro .

  • Atualmente, apenas o fuso horário UTC (Tempo Universal Coordenado) é usado para viagens no tempo.

  • Atualmente, a retenção de dados para consultas de viagem no tempo é de trinta dias corridos.

  • FOR TIMESTAMP AS OF os valores da OPTION cláusula devem ser determinísticos. Para obter um exemplo de parametrização, consulte Viagem no tempo em um procedimento armazenado.

  • A viagem no tempo não é suportada para o ponto de extremidade de análise SQL do Lakehouse.

  • A OPTION FOR TIMESTAMP AS OF sintaxe só pode ser usada em consultas que comecem com SELECT instrução. Consultas como INSERT INTO SELECT e CREATE TABLE AS SELECT não podem ser usadas junto com o OPTION FOR TIMESTAMP AS OF. Considere, em vez disso, a capacidade de clonar uma tabela de armazém em um determinado momento.

  • As definições de exibição não podem conter a OPTION FOR TIMESTAMP AS OF sintaxe. A exibição pode ser consultada com a SELECT .. FROM <view> ... OPTION FOR TIMESTAMP AS OF sintaxe. No entanto, não é possível consultar dados anteriores de tabelas em um modo de exibição de antes da criação do modo de exibição.

  • FOR TIMESTAMP AS OF atualmente não há suporte para sintaxe para viagem no tempo no modo de consulta Power BI Desktop Direct ou na opção Explorar estes dados .

Próximo passo