Consultar dados tal como existiam no passado

Aplica-se a:✅ Ponto Final de Análise SQL e Armazém no Microsoft Fabric

O Microsoft Fabric oferece a capacidade de consultar dados históricos tal como existiam anteriormente nos itens de armazém de dados e de ponto final de análise SQL (pré-visualização). A capacidade de consultar dados a partir de um carimbo temporal específico é conhecida na indústria 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.
  • As sugestões de viagem temporal podem ser usadas com tabelas temporárias de âmbito de sessão, que não são afetadas pela sintaxe TIMESTAMP.

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 FOR TIMESTAMP AS OF em T-SQL

As tabelas podem ser consultadas utilizando a sintaxe T-SQL OPTION FOR TIMESTAMP AS OF para obter dados de momentos anteriores no tempo. 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 sobre viagem no tempo são inerentemente de apenas leitura. Operações de gravação como INSERT, UPDATE e DELETE não podem ocorrer ao utilizar a dica de consulta FOR TIMESTAMP AS OF.

Use a OPTION clause para especificar a sugestão de consulta PARA TIMESTAMP NA DATA 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 de data e hora necessário com estilo 126.

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

Para ver exemplos, consulte Como efetuar consultas com viagens no tempo.

Retenção de dados em Fabric Data Warehouse

  • Para Fabric Data Warehouse, a viagem no tempo é limitada pelo período de retenção de dados configurável warehouse, que é automático.
  • Para um endpoint de análise SQL Lakehouse, a viagem no tempo é limitada ao nível da tabela pelas definições de retenção de vácuo. A manutenção de tabelas Lakehouse pode ser executada manualmente no portal Fabric ou como um processo programado e orquestrado usando notebooks, pipelines ou API REST.

Em Microsoft Fabric, um armazém preserva e mantém automaticamente várias versões dos dados com base no período de retenção configurado. O período padrão de retenção no armazém é de 30 dias naturais, podendo ser configurado de acordo com as necessidades da sua organização. Isto permite consultar tabelas em qualquer momento anterior dentro da janela de retenção. Todas as inserções, atualizações e eliminações feitas no armazém 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 FOR TIMESTAMP AS OF dica de consulta devolve 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.
  • Uma consulta de viagem no tempo para um ponto anterior à alteração do esquema só tem sucesso quando faz referência a colunas que já existiam nesse momento, e falha se referenciar colunas introduzidas posteriormente.

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 num momento anterior específico.

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 ao longo do tempo. 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 indicação 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 um momento específico no passado, dentro do período de retenção.
  • A FOR TIMESTAMP AS OF indicação de consulta pode ser usada apenas uma vez dentro de um SELECT comando.
  • A FOR TIMESTAMP AS OF dica de consulta pode ser definida dentro da SELECT instrução em um procedimento armazenado.
  • A FOR TIMESTAMP AS OF indicador de consulta não afeta tabelas temporárias limitadas à sessão, como #temp_table.

Permissões para viagens no tempo

Qualquer utilizador que tenha funções de espaço de trabalhoAdministrador, Membro, Colaborador ou Visualizador pode consultar as tabelas a partir de um ponto no tempo 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

  • Quaisquer modificações feitas ao esquema de uma tabela, incluindo, mas não se limitando a, adicionar ou remover colunas, só podem ser consultadas a partir do momento em que a alteração foi feita. Uma consulta de viagem no tempo para um ponto anterior à alteração do esquema só tem sucesso quando faz referência a colunas que já existiam nesse momento, e falha se referenciar colunas introduzidas posteriormente. Da mesma forma, eliminar e recriar uma tabela com os mesmos dados remove o seu histórico.
  • Forneça no máximo três dígitos de frações de segundo 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 29 de 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 é configurável de 1 a 120 dias de calendário. O período padrão de retenção é de trinta dias civis. Para mais informações, consulte Retenção de Dados Configuráveis.
  • 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 sugestão de consulta OPTION FOR TIMESTAMP AS OF só pode ser utilizada em consultas que começam com a SELECT instrução.
  • As definições de view não podem conter sintaxe T-SQL OPTION FOR TIMESTAMP AS OF. A vista pode ser consultada com a SELECT .. FROM <view> ... OPTION FOR TIMESTAMP AS OF sintaxe T-SQL. No entanto, não é possível consultar dados anteriores das tabelas numa vista anterior à sua criação.
  • A sintaxe T-SQL FOR TIMESTAMP AS OF para viagens no tempo não é atualmente suportada no modo de consulta direta Power BI Desktop nem na opção Explore this data.
  • Atualmente, a viagem no tempo para endpoints de análise SQL está ativada apenas para endpoints de análise SQL criados com a sincronização de novos metadados (pré-visualização) ativada.

Próximo passo