O que é Data Swamp?

O que é Data Swamp?

27 de janeiro de 2022 Off Por Luciano Gambato

Olá, pessoal!!

Hoje vamos conhecer um pouco do Data Swamp, onde o nome que comumente é atribuído para um conjunto de dados que não possui políticas para definir a forma como os dados devem ser organizados, armazenados e consultados. Normalmente, esse problema ocorre durante a utilização de Data Lakes, onde não foram definidas políticas para organizar os arquivos, tampouco definições de segurança para restrigir os níveis de acesso às informações contidas nesses repositórios.

Para melhorar o entendimento deste tópico, sugerimos a leitura do artigo “Data Warehouse, Modern Data Warehouse, Data Lake e Lakehouse”, no qual estas estruturas de análise de dados são explicadas.

(https://www.cdbdatasolutions.com.br/blog/data-warehouse-modern-data-warehouse-data-lake-e-lakehouse/)

Abaixo elencamos algumas boas práticas na construção de uma estrutura de Data Lake.

1 – Trata-se da criação dos layers ou níveis de refinamento da informação. Para construirmos uma estrutura onde diversas equipes consigam utilizar os mesmos dados para criar análises distintas, precisamos que os dados estejam armazenados conforme foram gerados na origem. A partir dessa definição, surge o primeiro layer do Data Lake que é chamado de raw. Nesse nível é gravada a informação conforme a estrutura que a origem apresenta, trazendo agilidade no processo de gravação e garantindo que nenhuma informação, que possa ser pertinente para as análises, seja perdida.

O segundo nível é chamado de bronze. Ele é construído a partir dos arquivos que foram armazenados no nível raw e já possui algum tipo de união de arquivos, filtros por datas, etc.

O próximo nível é chamado de silver. Nele são salvas tabelas com um nível maior de refinamento, por exemplo, união de uma ou mais tabelas armazenadas no layer bronze ou até mesmo tabelas que já estão no layer silver.

O último nível é denominado gold. Neste são armazenadas as informações prontas para a construção dos indicadores e demais processos de análise.

O processamento dos dados dentro do Data Lake deve seguir a sequência “raw – bronze – silver – gold”, porém, nem sempre serão necessários todos os níveis para processar um arquivo. Essa estrutura mencionada só é possível se aplicarmos um storage layer sobre o Data Lake, como por exemplo: Delta Lake, Apache Iceberg etc. (Você pode encontrar mais informações sobre o Delta Lake em: https://docs.delta.io/latest/index.html)

Abaixo temos uma representação gráfica para ilustrar a estrutura do Data Lake + Delta Lake:

Fonte: O Autor.

2 – Podemos citar a definição das políticas para remoção de arquivos que não são mais úteis para as análises, tarefa indispensável para construir uma boa estrutura para análise de dados. Essa atividade é importante para possuirmos um ambiente enxuto, no qual os usuários consigam localizar com facilidade os dados e menos informação precise ser processada. Também temos o tratamento de arquivos que são considerados históricos e que não precisam ser acessados com frequência, eles podem ser movidos para uma estrutura que chamamos de archive.

3 – A falta de organização quanto ao nível de acesso que cada usuário possui no Data Lake. A partir da definição dos layers e organização dos arquivos, podemos definir quais usuários tem permissão para leitura e escrita nos diferentes níveis. Essa atividade é importante para garantir que nenhum usuário modifique arquivos que são utilizados em pipelines de dados ou que armazene arquivos em locais errados. Esse pode ser considerado um dos pontos mais críticos quando olharmos o assunto dessa nossa discussão. O DataSwamp ocorre quando usuários sem instrução manuseiam dados de forma errada, por isso a importância de termos um alinhamento entre todas as equipes que utilizam o DataLake, como principal ferramenta para armazenamento e controle dos dados da organização.

Com essas dicas e boas práticas é possível iniciar a construção de um Data Lake organizado, aplicando ações para prevenir que uma estrutura que inicialmente deveria ser um Data Lake bem estruturado, torne-se um ambiente caótico onde os usuários perdem a confiança na veracidade dos dados e passem a criar as suas próprias formas para analisar as informações, tornando o processo de análise descentralizado.

Para finalizar, lembramos que no mercado existem algumas ferramentas que auxiliam nos processos de documentação e descoberta automatizada dos dados, como por exemplo o Azure Purview. Ela está disponível como serviço no Azure (PaaS) e pode ser utilizado tanto no mapeamento de estruturas de SGDBs, como SQL Server, Oracle, SAP etc., como também em estruturas de Data Lake. (Você pode encontrar mais informações sobre essa ferramenta em: https://azure.microsoft.com/en-us/services/purview/).

Esperamos que este post tenha sido produtivo!

Até a próxima 🙂