Alterar dados no Azure Data Lake
Quando você seleciona a opção Habilitar alterações de dados quase em tempo real, os dados são inseridos, atualizados e excluídos no data lake quase em tempo real. À medida que os dados são alterados no ambiente de finanças e operações, os mesmos dados são atualizados no data lake em alguns minutos. Você também obtém as alterações de dados em uma pasta de Feed de alterações separada.
Alterar dados em um data lake permite criar pipelines de dados quase em tempo real que reagem a alterações de dados em aplicativos de finanças e operações. A pasta Feed de alterações no data lake contém todas as alterações de dados em aplicativos de finanças e operações. Essa pasta é automaticamente criada e mantida pelo recurso Exportar para Data Lake.
Por que você precisa alterar dados em um data lake?
Geralmente, os dados em um data lake são usados para fins de relatórios. Embora seja possível usar os dados da tabela no data lake para criar relatórios, você também pode criar cópias adicionais dos dados para melhorar seus relatórios. Por exemplo, você pode ter um data mart criado para habilitar os usuários avançados. Nesse data mart, você pode ter simplificado e, muitas vezes, agregado tabelas de fatos e de dimensões.
À medida que os dados da tabela no data lake são atualizados, você deve manter as tabelas de fatos e de dimensões correspondentes no data lake atualizadas. Caso contrário, seus relatórios não refletirão os dados mais recentes.
A maneira mais fácil de atualizar tabelas de fatos e de dimensões é criar periodicamente uma cópia completa usando tabelas. No entanto, essa abordagem pode ser ineficiente. Se as tabelas forem grandes (por exemplo, se tiverem dezenas ou centenas de milhões de linhas), o processo de atualização de uma tabela de fatos fazendo uma cópia completa poderá levar horas e consumir muitos recursos de computação. Portanto, os usuários podem não ter os relatórios a tempo (ou seja, eles podem ter que esperar horas para ver os dados mais recentes nos relatórios). Além disso, como os recursos de computação são consumidos sempre que os dados são reprocessados, você pode receber uma fatura maior dos serviços que consumiu.
A atualização incremental de tabelas de fatos e de dimensões fornece a solução a ambos os problemas (consumo de tempo e de recursos de computação). Em uma atualização incremental, você seleciona apenas os registros alterados das tabelas de origem e os atualiza nas tabelas de fatos e de dimensões correspondentes.
A atualização incremental é um recurso padrão na maioria das ferramentas de transformação de dados, como o Azure Data Factory. No entanto, para que o recurso de atualização incremental funcione, você deve identificar os registros que foram alterados nas tabelas de origem.
A pasta Feed de alterações fornece um histórico das alterações de dados da tabela no data lake. Esse histórico pode ser usado para pipelines de dados que usam a atualização incremental.
Para obter informações mais detalhadas sobre a pasta Feed de alterações, consulte Alterar dados no Azure Data Lake.
Práticas recomendadas quando feeds de alterações são usados
Esta seção examina algumas práticas recomendadas que você deve seguir ao usar os feeds de alterações.
Atualizar data marts quase em tempo real
Se for preciso que seu data warehouse ou data marts sejam atualizados quase em tempo real (em outras palavras, se eles precisarem ser atualizados minutos após uma alteração de dados em aplicativos de finanças e operações), você deverá usar feeds de alterações.
No entanto, há vários conceitos importantes que devem ser compreendidos:
- Os registros de alterações são agrupados em arquivos com cerca de 4 MB (megabytes) ou 8 MB de tamanho. A Microsoft otimizou os tamanhos dos arquivos para que eles forneçam tempos de resposta de consulta ideais quando os arquivos são consultados pelo SQL do Synapse sem Servidor. Tamanhos de arquivo otimizados (e gravações em lotes) também reduzem as cobranças do Azure que você pode receber à medida que o data lake é atualizado.
- Os registros de alterações só são acrescentados. Os arquivos na pasta Feed de alterações nunca são atualizados. Embora cada registro de alteração contenha o número LSN e a data/hora de uma alteração, você também pode usar o carimbo de data/hora dos arquivos CSV para identificar as alterações.
- Quando você reativa uma tabela em finanças e operações, a pasta Feed de alterações é limpa e o sistema inicia os feeds de alterações com base na próxima alteração disponível. Esse comportamento garante que as alterações sejam consistentes com a pasta Tabelas. Quando as tabelas são reativadas, você deve considerar o disparo de uma atualização completa do pipeline de dados downstream.
- Os trabalhos de downstream podem ser orquestrados periodicamente (por exemplo, a cada 10 minutos) ou podem ser disparados quando um novo arquivo de feed de alterações é adicionado a uma pasta.
- Em ambos os casos, os pipelines de dados downstream devem ter um marcador de último processamento (também conhecido como marca d'água). Sempre que puder, você deverá usar o campo LSN no registro como marca d'água. No entanto, você também pode usar o carimbo de Data e Hora do arquivo como a marca d'água. Usando o LSN, você garante que consome as alterações na mesma sequência em que foram confirmadas no banco de dados de finanças e operações.
Para obter um exemplo que mostra como criar um pipeline downstream, consulte o Modelo de ingestão de dados do Synapse. Você pode usá-la para incluir dados incrementais em um data warehouse baseado em SQL.