Entenda o Delta Lake
O Delta Lake é uma camada de armazenamento de código aberto que adiciona semântica de banco de dados relacional ao processamento de data lake baseado no Spark. As tabelas no Microsoft Fabric lakehouses são tabelas Delta, que é significada pelo ícone triangular Delta (Δ) em tabelas na interface do usuário lakehouse.
As tabelas Delta são abstrações de esquema sobre arquivos de dados armazenados no formato Delta. Para cada tabela, o lakehouse armazena uma pasta contendo arquivos de dados do Parquet e uma pasta _delta_Log na qual os detalhes da transação são registrados no formato JSON.
Os benefícios do uso de tabelas Delta incluem:
- Tabelas relacionais que suportam consultas e modificação de dados. Com o Apache Spark, você pode armazenar dados em tabelas Delta que suportam operações CRUD (criar, ler, atualizar e excluir). Em outras palavras, você pode selecionar, inserir, atualizar e excluir linhas de dados da mesma forma que faria em um sistema de banco de dados relacional.
- Suporte para transações ACID. Os bancos de dados relacionais são projetados para oferecer suporte a modificações de dados transacionais que fornecem atomicidade (transações concluídas como uma única unidade de trabalho), consistência (transações deixam o banco de dados em um estado consistente), isolamento (transações em processo não podem interferir umas com as outras) e durabilidade (quando uma transação é concluída, as alterações feitas são persistentes). O Delta Lake traz esse mesmo suporte transacional para o Spark implementando um log de transações e impondo isolamento serializável para operações simultâneas.
- Controle de versão de dados e viagem no tempo. Como todas as transações são registradas no log de transações, você pode rastrear várias versões de cada linha da tabela e até mesmo usar o recurso de viagem no tempo para recuperar uma versão anterior de uma linha em uma consulta.
- Suporte para dados em lote e streaming. Enquanto a maioria dos bancos de dados relacionais inclui tabelas que armazenam dados estáticos, o Spark inclui suporte nativo para streaming de dados por meio da API de streaming estruturado do Spark. As tabelas Delta Lake podem ser usadas como dissipadores (destinos) e fontes para streaming de dados.
- Formatos normalizados e interoperabilidade. Os dados subjacentes para tabelas Delta são armazenados no formato Parquet, que é comumente usado em pipelines de ingestão de data lake. Além disso, você pode usar o ponto de extremidade de análise SQL para o lago do Microsoft Fabric para consultar tabelas Delta no SQL.