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 dicaFOR 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 umaSELECT
instrução. - A
FOR TIMESTAMP AS OF
dica de consulta pode ser definida dentro daSELECT
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 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 é de trinta dias corridos.
FOR TIMESTAMP AS OF
os valores daOPTION
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 comSELECT
instrução. Consultas comoINSERT INTO SELECT
eCREATE TABLE AS SELECT
não podem ser usadas junto com oOPTION 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 aSELECT .. 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 .