Dicas Para Melhorar O Desempenho Do ETL

Jul 21, 2022

A organização de hoje tem como objetivo ser orientada pelos dados, ou seja, toma decisões com base em dados. Para atingir este objetivo, as empresas normalmente implementam um programa de Governança de Dados (DG) para integrar todos os dados internos e externos em um único banco de dados, garantindo precisão, pontualidade, integridade e consistência. Um programa de GD é comumente estruturado com 5 elementos: 1) engajamento, 2) estratégia, 3) arquitetura e projeto, 4) implementação, e 5) operações e mudanças.

O engajamento refere-se a estabelecer claramente o que o DG servirá e o compromisso que as partes interessadas terão no programa de DG. A estratégia cria um plano e requisitos para alcançar os objetivos da organização, alinhados com o DG. Arquitetura e desenho significa a descrição e desenho das novas capacidades da organização para apoiar a iniciativa de dados. A implementação é a implantação e a sustentabilidade do programa. E a operação – e mudanças é a execução e refinamento do DG [1]. A engenharia de dados é um conceito transversal à arquitetura, projeto e implementação, dentro de um processo chamado Extração, Transformação e Carga (ETL), cuja finalidade é a integração de dados de várias fontes [2]. Na arquitetura de nuvem, o processo ETL envolve um armazenamento chamado datalake, onde uma cópia dos dados da fonte é armazenada (extração). A transformação então explora, limpa e converte estes dados para garantir a qualidade dos dados em um formato adequado. E a carga leva os dados transformados para um único e estruturado armazenamento de dados (isto não é um datalake).

O processo ETL é possível através de um serviço de nuvem (por exemplo, Azure Synapse), ou código Python com e sistema de banco de dados executado em uma máquina virtual. Quando os dados integrados provêm de centenas de fontes federadas, cada uma com um grande volume de dados, o recurso de armazenamento e processamento é certamente grande. Em particular, a empresa IMEXHS tem centenas de clientes em seus servidores na nuvem. Se você tem 200 clientes e cada um armazena 500 MB de dados, o datalake deve ser capaz de armazenar pelo menos 100 TB. Sob estas condições, o custo de um serviço ETL pode ser significativo. Para um ETL econômico, uma estratégia poderia ser automatizar as consultas aplicadas ao banco de dados de cada cliente. Desta forma, o datalake é completado somente com dados pré-filtrados (dados utilizáveis), que após a transformação, serão carregados no banco de dados final. Isto ajudaria significativamente na minimização do custo de armazenamento. Para otimizar o tempo de processamento, pode-se dividir as grandes tabelas e executar a transformação em cada uma delas. Como tal, a carga é executada sequencialmente, concatenada com as partições. A criação de uma ETL econômica envolve diferentes otimizações, envolvendo novas formas de extração e organização do grande conjunto de dados.

Referências:

[1] Ladley Jhon, Data Governance: como projetar, implantar e sustentar um programa de governança de dados eficaz. Elsevier Inc, 2ª edição, 2020, pp. 64-80.

[2] Crickard Paul, Data Engineering with Python. Packt Publishing, 1ª edição, 2022, pp. 4-13.

Leonardo Pérez

Chefe do BI/BA e grandes dados no IMEXHS

leonardo.perez@imexhs.com

0 Comments