Databricks - Data Lake - Delta Lake - Time Travel- Rollback -Versionamento
Ao final desse artigo espero ter entendido a diferença e o propósito de cada nomenclatura.
Table contentes
1.O que é um Data Lake?
2.O que é um Delta Lake?
3.Delta Lake é open-source?
4.Delta Table?
5.Time Travel, Versionamento, Roll back?
6.Como o Delta Lake gerencia versões?
1.O que é um Data Lake?
O Data Lake é o repositório onde você armazena grandes volumes de dados brutos em diferentes formatos (como CSV, Parquet, JSON, etc.). Ele pode estar em um sistema como HDFS, Amazon S3, ou o próprio DBFS no Databricks. No nosso caso, vamos usar o Databricks File System (DBFS) no Databricks como Data Lake
2.O que é um Delta Lake?
Se tu carregaste os teus dados no Data Lake, é óbvio que tu tem intenção de gerenciar esses dados. Como atualizar, excluir registros, assegurar transações ACID, ter controle de versão, ver e evoluir schema, otimização, fazer merge, etc. Essas funcionalidades são essenciais para garantir dados íntegros e consistentes e são garantidas pelo Delta Lake, que é uma tecnologia desenvolvida e promovida pela Databricks.
O Delta Lake adiciona uma camada de gerenciamento e otimização em cima do seu Data Lake. Ele mantém os dados em arquivos de formato otimizado (normalmente Parquet) e adiciona funcionalidades como transações ACID, versionamento de dados, e gerenciamento de esquema.
O que o Delta Lake faz é exatamente o que os serviços integrados da AWS fazem (AWS Lake Formation junto com o Amazon S3 e o Glue Data Catalog+ Athena). A combinação desses serviços oferecem funcionalidades similares ao Delta Lake.
3.O Delta Lake é open-source:
Embora seja originário da Databricks, o Delta Lake é agora um projeto open-source hospedado pela Linux Foundation e pode ser usado por qualquer pessoa em várias plataformas, incluindo AWS, Azure e ambientes on-premises, desde que haja suporte para Apache Spark.
4.Delta Table
Para aproveitar totalmente os benefícios do Delta Lake, como Time Travel, ACID transactions e schema evolution, os dados precisam ser armazenados como **Delta Tables**. O Delta Lake é uma camada de armazenamento que se sobrepõe ao formato de armazenamento existente (como Parquet ou CSV) e oferece funcionalidades avançadas que não estão disponíveis com esses formatos puros.
5.Time Travel, Versionamento, Roll back
Acessar uma versão específica, recuperar uma versão específica, reverter para um estado anterior específico, todas essas funcionalidades são possíveis através do Time Travel. Com essa funcionalidade nós podemos restaurar para um versão anterior ou restaurar a partir de um timestamp. O Time Travel no Delta Lake facilita o rollback ao acessar e sobrescrever dados a partir de versões anteriores.
Histórico de versões
6.Como o Delta Lake gerencia versões?
Já vimos que o Delta Lake mantém o histórico das versões anteriores dos dados. Novas gravações são registradas gerando novas versões. Quando gravamos dados em uma tabela Delta usando o modo "overwrite", os dados existentes na tabela são substituídos pelos novos dados. Cada operação de gravação (incluindo "overwrite") cria um novo commit e uma nova versão da tabela Delta. A versão anterior dos dados não é apagada, mas é movida para o histórico de versões. Isso permite a consulta ou recuperação de dados de versões anteriores se necessário através do Time Travel.
Crie sua conta Databricks community e aproveite a versão gratuita aqui
Tenha acesso a tutorias técnicos, ebooks e treinamentos da Databricks
Bons estudos e boa semana a todos.