Consultar dados como existiam no passado
Aplica-se a:✅Depósito no Microsoft Fabric
O depósito no Microsoft Fabric oferece a capacidade de consultar dados históricos como existiam no passado. A capacidade de consultar dados de um carimbo de data/hora específico é conhecida no setor de data warehousing 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 no tempo passados e ajuda a antecipar as tendências futuras.
- A viagem no tempo simplifica as comparações de baixo custo entre versões anteriores de dados.
- A viagem no tempo auxilia na análise do 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 aprendizado de máquina.
- A viagem no tempo pode consultar tabelas como elas existiam em um ponto específico no tempo em vários armazéns no mesmo espaço 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 FOR TIMESTAMP AS OF T-SQL
Em um item de depósito, as tabelas podem ser consultadas usando a sintaxe T-SQL OPTION FOR TIMESTAMP AS OF para recuperar dados em pontos passados no tempo. A cláusula FOR TIMESTAMP AS OF
afeta toda a instruçã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 FOR TIMESTAMP AS OF.
Use a cláusula OPTION para especificar a dica de consulta FOR TIMESTAMP AS OF. 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 sintaxe CONVERT
para o formato datetime necessário com o estilo 126.
O carimbo OPTION
de data/hora pode ser especificado apenas uma vez usando a cláusula para consultas, procedimentos armazenados, exibições, etc. O OPTION
se aplica a tudo dentro da instrução SELECT.
Para obter exemplos, consulte Como: consultar usando viagem 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 restauração pontual 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 depósito é criado. Os arquivos expirados são excluídos automaticamente após o limite de retenção.
- Atualmente, uma instrução
SELECT
com a dica de consultaFOR TIMESTAMP AS OF
retorna a versão mais recente do esquema de tabela. - Todos os registros excluídos em uma tabela estão disponíveis para consulta 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, mas não se limitando a, adicionar ou remover 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 carregamento (ETL) é essencial para acompanhar o cenário de dados em constante mudança. A capacidade de viajar no tempo dá suporte a 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 na 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 restauração pontual 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 por meio da consulta de dados em vários períodos de tempo passados. Isso facilita a análise preditiva, permitindo a experimentação de conjuntos de dados históricos e o treinamento de modelos preditivos. Isso 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 uma capacidade de solução de problemas eficiente e econômica, 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 depósito às horas extras. Isso ajuda a identificar as tendências de degradação de 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 permanecer em 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 dos 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 sobre o design
Considerações sobre a dica de consulta OPTION FOR TIMESTAMP AS OF:
- A dica de consulta
FOR TIMESTAMP AS OF
não pode ser usada para criar os modos de exibição a partir de qualquer restauração pontual anterior dentro do período de retenção. Ela pode ser usada para consultar exibições a partir do ponto no tempo passado, dentro do período de retenção. - A dica de consulta
FOR TIMESTAMP AS OF
pode ser usada apenas uma vez dentro de uma instruçãoSELECT
. - A dica de consulta
FOR TIMESTAMP AS OF
pode ser definida dentro da instruçãoSELECT
em um procedimento armazenado.
Permissões para viagens no tempo
Qualquer usuário que tenha funções de espaço de trabalho de Administrador, Membro, Contribuidor ou Visualizador pode consultar as tabelas a partir de uma restauração pontual passada. 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 fracionados no carimbo de data/hora. Se você fornecer mais precisão, você receber a mensagem de erro
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
.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.
Os valores
FOR TIMESTAMP AS OF
na cláusulaOPTION
devem ser determinísticos. Para obter um exemplo de parametrização, consulte Viagem no tempo em um procedimento armazenado.Não há suporte para viagem no tempo no ponto de extremidade de análise do SQL do Lakehouse.
A sintaxe
OPTION FOR TIMESTAMP AS OF
só pode ser usada em consultas que começam com instruçãoSELECT
. 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 depósito em um ponto no tempo.As definições de exibição não podem conter a sintaxe
OPTION FOR TIMESTAMP AS OF
. A exibição pode ser consultada com a sintaxeSELECT .. FROM <view> ... OPTION FOR TIMESTAMP AS OF
. No entanto, você não pode consultar dados passados de tabelas em um modo de exibição de antes da exibição ser criada.A sintaxe
FOR TIMESTAMP AS OF
para viagem no tempo não é suportada atualmente no modo de consulta direta do Power BI Desktop ou na opção Explorar estes dados.