O que é o processo de ETL?
Extração, transformação e carregamento (ETL) correspondem ao processo de combinação de dados de várias fontes em um grande repositório central, chamado de data warehouse. O processo de ETL usa um conjunto de regras de negócios para limpar e organizar dados brutos e prepará-los para armazenamento, data analytics e machine learning (ML). Você pode atender a necessidades específicas de business intelligence por meio da análise de dados (como prever o resultado das decisões de negócios, gerar relatórios e painéis, reduzir a ineficiência operacional e muito mais).
Por que o processo de ETL é importante?
Atualmente, as organizações têm dados estruturados e não estruturados de várias fontes, incluindo:
- Dados de clientes de sistemas de pagamento on-line e gerenciamento de relacionamento com o cliente (CRM)
- Dados de estoque e operações dos sistemas do fornecedor
- Dados de sensores de dispositivos de Internet das Coisas (IoT)
- Dados de marketing das mídias sociais e comentários do cliente
- Dados de funcionários de sistemas internos de recursos humanos
Com a aplicação do processo de extração, transformação e carregamento (ETL), conjuntos de dados brutos individuais podem ser preparados em um formato e uma estrutura mais consumíveis para fins de análise, resultando em informações mais significativas. Por exemplo, os varejistas on-line podem analisar dados de pontos de venda para prever a demanda e gerenciar o estoque. As equipes de marketing podem integrar os dados do CRM aos comentários do cliente nas mídias sociais para estudar o comportamento do consumidor.
Como o processo de ETL beneficia o business intelligence?
O processo de extração, transformação e carregamento (ETL) aprimora o business intelligence e a análise, tornando o processo mais confiável, preciso, detalhado e eficiente.
Contexto histórico
Ele fornece um contexto histórico profundo aos dados da organização. Uma empresa pode combinar dados herdados com dados de novas plataformas e aplicações. Você pode visualizar conjuntos de dados mais antigos juntamente com informações mais recentes, o que oferece uma visão de longo prazo dos dados.
Visualização de dados consolidada
O processo de ETL fornece uma visualização consolidada dos dados para análises e relatórios detalhados. O gerenciamento de diversos conjuntos de dados exige tempo e coordenação, podendo resultar em ineficiências e atrasos. O processo de ETL combina bancos de dados e várias formas de dados em uma visualização única. O processo de integração de dados melhora a qualidade dos dados e economiza o tempo necessário para mover, categorizar ou padronizar dados. Isso facilita a análise, a visualização e a compreensão de grandes conjuntos de dados.
Análise de dados precisa
O processo de ETL oferece uma análise de dados mais precisa para atender aos padrões regulatórios e de conformidade. Você pode integrar ferramentas de ETL com ferramentas de qualidade de dados para perfilar, auditar e limpar dados, garantindo que os dados sejam confiáveis.
Automação de tarefas
O processo de ETL automatiza tarefas de processamento de dados que se repetem para uma análise eficiente. As ferramentas de ETL automatizam o processo de migração de dados e você pode configurá-las para integrar alterações de dados periodicamente ou até mesmo durante uma execução. Como resultado, os engenheiros de dados podem passar mais tempo desenvolvendo inovações e menos tempo gerenciando tarefas cansativas, como mover e formatar dados.
Como o processo de ETL evoluiu?
O processo de extração, transformação e carregamento (ETL) originou-se com o surgimento de bancos de dados relacionais que armazenavam dados na forma de tabelas para análises. As primeiras ferramentas de ETL tentaram converter dados de formatos de dados transacionais em formatos de dados relacionais para análise.
ETL tradicional
Geralmente, os dados brutos eram armazenados em bancos de dados transacionais, os quais ofereciam suporte para muitas solicitações de leitura e gravação, mas não ofereciam boas análises. Você pode imaginar isso como uma linha em uma planilha. Por exemplo, em um sistema de comércio eletrônico, o banco de dados transacional armazena o item comprado, os detalhes do cliente e os detalhes do pedido em uma transação. Ao longo do ano, uma longa lista de transações é apresentada com entradas repetidas para um mesmo cliente que comprou vários itens durante o ano. Dada a duplicação de dados, tornou-se trabalhoso analisar os itens mais populares ou as tendências de compra naquele ano.
Para superar esse problema, as ferramentas de ETL converteram automaticamente esses dados transacionais em dados relacionais com tabelas interconectadas. Assim, os analistas puderam realizar consultas para identificar relações entre as tabelas, bem como padrões e tendências.
ETL moderno
À medida que a tecnologia de ETL evoluiu, tanto os tipos de dados quanto as fontes de dados aumentaram exponencialmente. A tecnologia de nuvem surgiu possibilitando a criação de vastos bancos de dados (também chamados de coletores de dados). Esses coletores de dados podem receber dados de várias fontes e ter recursos de hardware subjacentes, os quais podem ser dimensionados com o passar do tempo. As ferramentas de ETL também se tornaram mais sofisticadas e podem funcionar junto com os coletores de dados modernos. Elas podem converter dados de formatos de dados herdados para formatos de dados modernos. Veja exemplos de bancos de dados modernos a seguir.
Data warehouses
Um data warehouse é um repositório central que pode armazenar vários bancos de dados. Em cada banco de dados, você pode organizar seus dados em tabelas e colunas, as quais descrevem os tipos de dados presentes na tabela. O software de data warehouse funciona em diversos tipos de hardware de armazenamento, como unidades de estado sólido (SSDs), discos rígidos e outros tipos de armazenamentos em nuvem, para otimizar seu processamento de dados.
Data lakes
Com um data lake, você pode armazenar seus dados estruturados e não estruturados em um repositório centralizado e em qualquer escala. Você pode armazenar os dados como eles estão, sem a necessidade de estruturá-los com base em perguntas que possa ter no futuro. Os data lakes também permitem que você execute diferentes tipos de análises em seus dados, como consultas SQL, análises de big data, pesquisas de texto completo, análises em tempo real e machine learning (ML) para orientar melhores decisões.
Como funciona o processo de ETL?
O processo de extração, transformação e carregamento (ETL) se dá pela movimentação de dados do sistema de origem para o sistema de destino em intervalos periódicos. O processo de ETL funciona em três etapas:
- Extração dos dados relevantes do banco de dados de origem
- Transformação dos dados para que sejam mais adequados a análises
- Carregamento dos dados no banco de dados de destino
O que é extração de dados?
Na extração de dados, as ferramentas de extração, transformação e carregamento (ETL) extraem ou copiam dados brutos de diversas fontes e os armazenam em uma área de preparação. Uma área de preparação (ou zona de pouso) é uma área de armazenamento intermediária para armazenamento temporário dos dados extraídos. As áreas de preparação de dados geralmente são temporárias, o que significa que seu conteúdo é apagado após a conclusão da extração de dados. No entanto, a área de preparação também pode reter um arquivo de dados para fins de solução de problemas.
A frequência com que o sistema envia dados da fonte de dados para o armazenamento de dados de destino depende do mecanismo de captura de dados de alterações subjacente. Normalmente, a extração de dados acontece de uma das três maneiras apresentadas a seguir.
Notificação de atualização
Na notificação de atualização, o sistema de origem notifica você quando um registro de dados é alterado. Portanto, você pode executar o processo de extração para essa alteração. A maioria dos bancos de dados e aplicações Web fornece mecanismos de atualização para oferecer suporte a esse método de integração de dados.
Extração gradual
Algumas fontes de dados não podem fornecer notificações de atualização, mas podem identificar e extrair dados que foram modificados em um determinado período. Nesse caso, o sistema verifica as alterações em intervalos periódicos, como uma vez por semana, uma vez por mês ou ao final de uma campanha. Você só precisa extrair os dados que sofreram alterações.
Extração completa
Alguns sistemas não conseguem identificar alterações de dados ou fornecer notificações, portanto, realizar novamente o carregamento de todos os dados é a única opção. Esse método de extração exige que você mantenha uma cópia da última extração para verificar quais registros são novos. Como essa abordagem envolve grandes volumes de transferência de dados, recomenda-se usá-la apenas para tabelas pequenas.
O que é transformação de dados?
Na transformação de dados, as ferramentas de extração, transformação e carregamento (ETL) transformam e consolidam os dados brutos na área de preparação a fim de prepará-los para o data warehouse de destino. A fase de transformação de dados pode envolver os seguintes tipos de alterações de dados.
Transformação de dados básica
As transformações básicas melhoram a qualidade dos dados ao remover erros, esvaziar campos de dados ou simplificar os dados. Veja exemplos dessas transformações a seguir.
Limpeza de dados
A limpeza de dados remove erros e mapeia os dados de origem para o formato de dados de destino. Por exemplo, você pode mapear campos de dados vazios para o número zero, mapear o valor de dados “Parent” (Pai) para “P” ou mapear “Child” (Filho) para “C”.
Eliminação de duplicação de dados
A eliminação de duplicação de dados na limpeza de dados identifica e remove registros duplicados.
Revisão de formato de dados
A revisão de formato converte dados, como conjuntos de caracteres, unidades de medida e valores de data e horário, para um formato consistente. Por exemplo, uma empresa de alimentos pode ter diferentes bancos de dados de fórmulas com a medição de ingredientes em quilos e libras. O processo de ETL converterá tudo para libras.
Transformação de dados avançada
As transformações avançadas utilizam regras de negócios para otimizar os dados a fim de facilitar a análise. Veja exemplos dessas transformações a seguir.
Derivação
A derivação aplica regras de negócios aos seus dados para calcular novos valores com base em valores existentes. Por exemplo, você pode converter receita em lucro subtraindo despesas ou calculando o custo total de uma compra e multiplicando o preço de cada item pelo número de itens pedidos.
Junção
Na preparação de dados, a junção vincula dados semelhantes de diferentes fontes de dados. Por exemplo, você pode encontrar o custo total de aquisição de um item adicionando o valor da aquisição de diferentes fornecedores e armazenando apenas o total final no sistema de destino.
Separação
Você pode dividir uma coluna ou um atributo de dados em diversas colunas no sistema de destino. Por exemplo, se a fonte de dados salvar o nome da cliente como “Jane John Doe”, você poderá realizar a separação em nome, nome do meio e sobrenome.
Resumo
O resumo melhora a qualidade dos dados ao reduzir um grande número de valores de dados em um conjunto de dados menor. Por exemplo, os valores da fatura do pedido do cliente podem ter vários valores diferentes menores. Você pode realizar um resumo dos dados adicionando-os em um determinado período para criar uma métrica de valor da vida útil do cliente (CLV).
Encriptação
Você pode proteger dados confidenciais para cumprir as leis de dados ou a privacidade de dados adicionando encriptação antes que os dados sejam transmitidos para o banco de dados de destino.
O que é carregamento de dados?
No carregamento de dados, as ferramentas de extração, transformação e carregamento (ETL) movem os dados transformados da área de preparação para o data warehouse de destino. Para a maioria das organizações que usam o ETL, esse processo é automatizado, bem definido, contínuo e orientado por lotes. Veja abaixo dois métodos para carregamento de dados.
Carregamento completo
No carregamento completo, todos os dados da origem são transformados e movidos para o data warehouse. Geralmente, o carregamento completo ocorre na primeira vez que você realiza o carregamento de dados de um sistema de origem no data warehouse.
Carregamento incremental
No carregamento incremental, a ferramenta de ETL realiza o carregamento do delta (ou diferença) entre os sistemas de destino e de origem em intervalos regulares. A última data de extração é armazenada para que apenas os registros adicionados após essa data sejam carregados. Existem duas maneiras de implementar o carregamento incremental.
Carregamento incremental por transmissão
Se você tiver pequenos volumes de dados, poderá transmitir alterações de forma contínua através de pipelines de dados para o data warehouse de destino. Quando a velocidade dos dados aumenta para milhões de eventos por segundo, você pode usar o processamento de fluxo de eventos para monitorar e processar os fluxos de dados a fim de tomar decisões mais oportunas.
Carregamento incremental em lotes
Se você tiver grandes volumes de dados, poderá coletar alterações de dados de carregamento em lotes periodicamente. Durante esse período de tempo definido, nenhuma ação pode ocorrer no sistema de origem ou de destino à medida que os dados são sincronizados.
O que é ELT?
Extração, carregamento e transformação (ELT) é uma extensão de extração, transformação e carregamento (ETL) que inverte a ordem das operações. Você pode fazer o carregamento de dados diretamente no sistema de destino antes de processá-los. A área de preparação intermediária não é necessária porque o data warehouse de destino possui recursos de mapeamento de dados. O processo de ELT tornou-se mais popular com a adoção da infraestrutura em nuvem, que oferece aos bancos de dados de destino o poder de processamento necessário para as transformações.
ETL em comparação com ELT
O processo de ELT funciona bem para conjuntos de dados não estruturados e de alto volume que exigem carregamento frequente. Também é ideal para big data, pois o planejamento de análises pode ser realizado após a extração e o armazenamento dos dados. Isso deixa a maior parte das transformações para o estágio de análise e se concentra no carregamento de dados brutos minimamente processados no data warehouse.
O processo de ETL requer maior definição no início. A análise precisa estar envolvida desde o início para que haja definição dos tipos de dados de destino, estruturas e relações. Os cientistas de dados usam principalmente o processo de ETL para fazer o carregamento de bancos de dados herdados no warehouse, enquanto a operação de ELT se tornou habitual atualmente.
O que é virtualização de dados?
A virtualização de dados usa uma camada de abstração de software para criar uma visualização de dados integrada sem extrair, transformar ou carregar fisicamente os dados. As organizações usam essa funcionalidade como um repositório virtual de dados unificado. Assim, não há despesas e complexidade pela criação e pelo gerenciamento de plataformas separadas para origem e destino. Embora você possa usar a virtualização de dados em conjunto com a extração, transformação e carregamento (ETL), ela está sendo cada vez mais considerada como uma alternativa ao processo de ETL e outros métodos físicos de integração de dados. Por exemplo, você pode usar o AWS Glue Elastic Views para criar rapidamente uma tabela virtual, ou seja, uma visão materializada, de vários armazenamentos de dados de origem diferentes.
O que é o AWS Glue?
O AWS Glue é um serviço de integração de dados com tecnologia sem servidor que facilita a descoberta, a preparação, a movimentação e a integração de dados de várias fontes para análise, machine learning (ML) e desenvolvimento de aplicações.
- É possível descobrir e conectar-se a mais de 80 armazenamentos de dados diversos.
- É possível gerenciar seus dados em um catálogo de dados centralizado.
- Engenheiros de dados, desenvolvedores ETL, analistas de dados e usuários empresariais podem usar o AWS Glue Studio para criar, executar e monitorar pipelines de ETL para carregar dados em data lakes.
- O AWS Glue Studio oferece interfaces para Visual ETL, Bloco de anotações e editor de código, para que os usuários tenham ferramentas apropriadas para suas habilidades.
- Com Sessões interativas, os engenheiros de dados podem explorar os dados, bem como criar e testar trabalhos usando seu IDE ou bloco de anotações preferido.
- O AWS Glue usa a tecnologia sem servidor e escala automaticamente sob demanda, para que você possa se concentrar em obter insights de dados em escala de petabytes sem gerenciar a infraestrutura.
Comece a usar o AWS Glue criando uma conta da AWS.
Próximas etapas do AWS ETL
Obtenha acesso instantâneo ao nível gratuito da AWS.