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.