Skip to Content

O que é ETL?

Extrair, transformar e carregar (ETL, Extract, Transform and Load) é um processo importante no armazenamento de dados quando as empresas precisam extrair dados de várias fontes e armazená-los em um local centralizado. A lógica do processo e o design da infraestrutura dependerão dos requisitos de negócios, dos dados que estão sendo armazenados e se o formato é estruturado ou não.

O que é ETL?

Os dados extraídos de várias fontes devem ser armazenados de uma forma específica para permitir que aplicativos, aprendizado de máquina, inteligência artificial e análise funcionem com eles. O processo ETL é um grupo de regras de negócios que determinam as fontes de dados usadas para extrair dados, transformá-los em um formato específico e carregá-los em um banco de dados. Os dados podem ser estruturados ou não estruturados, ou podem ser ambos.

Depois que o processo ETL acontece, os dados são armazenados em um data warehouse onde os administradores podem gerenciá-los ainda mais. Os administradores responsáveis pelos bancos de dados que armazenam dados ETL gerenciam o registro, a auditoria e os backups. Os dados de log para eventos ETL também podem passar por seu próprio fluxo de dados antes de serem armazenados em um data warehouse para análise administrativa.

O processo ETL

O ETL tem três etapas: extrair, transformar e carregar. Administradores de banco de dados, desenvolvedores e arquitetos de nuvem geralmente desenvolvem o processo de ETL usando regras de negócios e requisitos de aplicativos. O design de um processo ETL aborda as três etapas a seguir:

  • Extrair (Extract): Dados brutos para extração podem vir de uma ou várias fontes. As fontes podem ser de uma API, um site, outro banco de dados, logs de IoT, arquivos, e-mail ou qualquer outro formato de dados ingeríveis. Como as fontes podem ter vários formatos, a primeira etapa no ETL extrai dados de uma fonte para a próxima etapa.
  • Transformar (Transform): As regras comerciais e o local de armazenamento de destino definem o design da transformação. Os dados devem ser formatados, filtrados e validados antes que possam ser enviados para o data warehouse. Dados duplicados podem distorcer os resultados analíticos, de modo que itens de linha duplicados são removidos antes de armazená-los. Os dados são formatados para que possam ser armazenados. Por exemplo, um número de telefone pode ser armazenado com ou sem hífens, de modo que o processo de transformação adiciona ou remove hífens antes de ser enviado ao armazenamento.
  • Carregar (Load): Após a transformação, os dados são enviados para o data warehouse para armazenamento. Os dados devem ser preservados e as duplicatas evitadas, portanto, a etapa de carga deve levar em conta as alterações incrementais sempre que o processo de ETL for executado. O ETL muitas vezes é executado várias vezes por dia para grandes corporações, portanto, apenas novos dados são adicionados sem afetar os dados atuais do aplicativo já armazenados no banco de dados.

Benefícios do ETL

Depois que um processo de ETL é desenvolvido, ele é executado automaticamente ao longo do dia. Alguns processos de ETL podem ser uma ocorrência semanal ou mensal, e a maioria dos mecanismos de banco de dados oferece um agendador que é executado no servidor para executar tarefas em um determinado momento. Um processo ETL bem desenvolvido não precisa de muitas alterações e pode importar dados de várias fontes sem interação manual.

Dados brutos sem qualquer transformação geralmente são inúteis para análise, especialmente se sua empresa usa dados semelhantes de várias fontes. Por exemplo, uma empresa que trabalha com análise de tráfego pode extrair dados de várias fontes governamentais diferentes. É altamente provável que todas as fontes criem registros duplicados, mas um processo ETL pegará os dados, removerá duplicatas e formatará os dados para aplicativos de análise interna. As empresas podem extrair dados de vários locais e prepará-los automaticamente para análise interna, o que também potencializa futuras decisões de negócios e lançamentos de produtos.

O ETL acelera as atualizações de dados para beneficiar as empresas que precisam trabalhar com dados atuais ou em tempo real. Tradicionalmente, as importações de dados eram em lote e o ETL era lento. As empresas podem não ver mudanças nos dados por várias horas, mas a tecnologia ETL atual fornece atualizações aos dados para que a análise possa refletir mudanças recentes nas tendências.

Ferramentas e tecnologias ETL

Para grandes fluxos de dados, a maioria das organizações usa ferramentas e scripts personalizados para ETL. Os mecanismos de banco de dados geralmente vêm com seus próprios recursos de ETL para que as empresas possam importar dados. A maneira como você armazena dados depende da necessidade de dados não estruturados ou estruturados. Os dados estruturados exigem mais formatação do que os dados não estruturados, portanto, qualquer ferramenta pronta para uso deve se integrar à plataforma de banco de dados escolhida.

Algumas ferramentas para ETL:

  • Talend: Oferece uma GUI de código aberto para integração de fluxo de dados de arrastar e soltar
  • Informatica PowerCenter: Oferece aos usuários finais as ferramentas para importar dados e projetar seus próprios fluxos de dados para projetos de negócios
  • Cola AWS: Permite projetar ETL a partir de dados não estruturados e estruturados para armazenamento em buckets S3
  • Fluxo de dados do Google Cloud: Permite criar processos ETL sem servidor para armazenar dados na Google Cloud Platform (GCP)

Melhores práticas para implementação de ETL

A chave para um bom design de ETL é o desempenho e a precisão. O desempenho geralmente depende da infraestrutura subjacente, por isso é importante ter um data warehouse que possa expandir e acompanhar o aumento das cargas. Os dados estruturados muitas vezes levam mais tempo para serem transformados devido às muitas restrições de tabela, mas soluções como o FlashArray. . são desenvolvidas para grandes importações de dados e garantem que os pipelines locais continuem sendo executados rapidamente.

Sempre projete processos ETL para escala e para o desconhecido. É altamente possível que você importe um registro que não possa ser transformado. Quaisquer erros devem ser registrados e os registros armazenados para análise adicional. Isso pode significar que há um bug em seu ETL ou o design perde um caso de borda que pode ser corrigido com alterações no código ETL.

Nem todos os processos de ETL funcionam com servidores físicos, portanto, soluções como a Portworx® lidam com bancos de dados e análises virtualizados e em contêiner. Os serviços em contêineres devem ser dimensionados conforme mais dados são importados e funcionam com ferramentas comuns de orquestração. A Portworx integra-se a ferramentas de orquestração, incluindo Kubernetes, para fluxos dinâmicos e atualizados de maneira consistente.

Desafios e soluções em ETL

Como as fontes de dados e os requisitos de negócios estão em constante mudança, os administradores responsáveis por projetar o ETL têm desafios associados a escala, atualizações e controle de qualidade. Os desafios de expansão normalmente vêm de limitações de espaço de armazenamento, para que os administradores possam corrigir esse problema com um armazenamento que se expande com um aumento nos requisitos de armazenamento de dados.

Os desafios com as mudanças nos requisitos de negócios muitas vezes estão em manutenção. Uma fonte de dados pode mudar a forma como os dados são armazenados ou os desenvolvedores podem fazer alterações em um aplicativo que exijam alterações nas estruturas de transformação ou carga. Sem ter qualquer documentação de fontes de dados de terceiros para alertar os administradores, as alterações no armazenamento de dados ou nos requisitos de carga não se apresentam até que ocorram erros no processo de ETL. O registro e os alertas ajudam os administradores a identificar problemas antecipadamente para que possam fazer alterações na codificação ETL. As mudanças precoces reduzem o impacto dos erros na produtividade e na receita dos negócios.

O design de um processo de ETL é uma das tarefas mais difíceis, mas pode ser mais fácil quando os administradores falam com as partes interessadas e garantem que as regras de negócios sejam incluídas. Reprojetar e refatorar um design ETL pode atrasar a implantação e adicionar sobrecarga desnecessária. Documente todas as regras de negócios para que cada caso possa ser incluído em um design ETL para evitar reescritas excessivas.

Mantenha vários processos de ETL separados e independentes uns dos outros. Essa solução garante que todo o processo ETL não falhe se um componente falhar. Por exemplo, se uma API externa falhar, a extração de dados de todas as outras fontes ainda será concluída até que a API esteja disponível novamente. Também é possível criar vários agendamentos ETL, se necessário. Se você trabalha com várias plataformas de nuvem, o armazenamento em nuvem da Pure Storage é compatível com AWS, Azure, GCP e outras plataformas importantes.

ETL x ELT 

É importante observar que o ETL pode exigir muitos recursos e introduzir alguma latência na disponibilidade de dados, especialmente ao lidar com grandes conjuntos de dados. Se o processamento de dados em tempo real ou quase em tempo real for um requisito crítico, outros métodos de integração de dados, como captura de dados de mudança (CDC, Change Data Capture) ou fluxos de dados de streaming, podem ser mais adequados.

Além disso, nos últimos anos, a ELT (extrair, carregar, transformar) tornou-se uma alternativa popular à ETL, especialmente em ambientes de dados baseados em nuvem, onde a transformação de dados pode ser realizada no sistema de armazenamento de dados de destino. A ELT pode ser mais econômica e escalável para alguns casos de uso, mas a escolha entre ETL e ELT depende de seus requisitos específicos e das tecnologias que você está usando.

Conclusão

Criar uma solução de ETL leva tempo, mas não se esqueça de criar um sistema que se expanda com o aumento do armazenamento de dados. Um dos desafios mais fáceis de resolver é a capacidade de armazenamento de dados, e as soluções da Pure Storage são desenvolvidas para armazenamento de dados não estruturados e estruturados.

Outros desafios podem ser resolvidos com bons padrões de design, documentação e testes de garantia de qualidade. Você pode descobrir que algumas ferramentas podem ajudar no design, mas o ETL é frequentemente personalizado para a empresa. Teste uma pequena amostra de dados em um ambiente de preparação e espere manter continuamente a codificação ETL conforme novos requisitos de negócios são introduzidos.

12/2024
Portworx on Red Hat OpenShift Bare Metal Reference Architecture
A validated architecture and design model to deploy Portworx® on Red Hat OpenShift running on bare metal hosts for use with OpenShift Virtualization.
Arquitetura de referência
33 páginas
ENTRE EM CONTATO
Dúvidas ou comentários?

Tem dúvidas ou comentários sobre produtos ou certificações da Pure?  Estamos aqui para ajudar.

Agende uma demonstração

Agende uma demonstração ao vivo e veja você mesmo como a Pure pode ajudar a transformar seus dados em resultados poderosos. 

Telefone: 55-11-2844-8366

Imprensa: pr@purestorage.com

 

Sede da Pure Storage

Av. Juscelino Kubitschek, 2041

Torre B, 5º andar - Vila Olímpia

São Paulo, SP

04543-011 Brasil

info@purestorage.com

FECHAR
Seu navegador não é mais compatível.

Navegadores antigos normalmente representam riscos de segurança. Para oferecer a melhor experiência possível ao usar nosso site, atualize para qualquer um destes navegadores mais atualizados.