Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Normalmente, as organizações precisam coletar dados de várias fontes em vários formatos e movê-los para um ou mais armazenamentos de dados. O destino pode não ser o mesmo tipo de armazenamento de dados que a origem, e os dados geralmente precisam ser moldados, limpos ou transformados antes do carregamento.
Várias ferramentas, serviços e processos ajudam a resolver esses desafios. Independentemente da abordagem, você precisa coordenar o trabalho e aplicar transformações de dados no pipeline de dados. As seções a seguir destacam os métodos e práticas comuns para essas tarefas.
Processo de ETL (extração, transformação e carregamento)
Extrair, transformar, carregar (ETL) é um processo de integração de dados que consolida dados de diversas fontes em um armazenamento de dados unificado. Durante a fase de transformação, os dados são modificados de acordo com as regras de negócios usando um mecanismo especializado. Isso geralmente envolve tabelas de staging que armazenam temporariamente os dados à medida que são processados e, por fim, carregados no destino final.
A transformação de dados ocorrida geralmente envolve diversas operações, como filtragem, classificação, agregação, junção de dados, limpeza de dados, eliminação de duplicação e validação de dados.
Geralmente, as três fases de ETL são executadas em paralelo para economizar tempo. Por exemplo, enquanto os dados estão sendo extraídos, um processo de transformação pode funcionar em dados já recebidos e prepará-los para carregamento, e um processo de carregamento pode começar a trabalhar nos dados preparados, em vez de esperar que todo o processo de extração seja concluído. Normalmente, você projeta paralelização em torno de limites de partição de dados (data, locatário, chave de fragmento) para evitar contenção de gravação e habilitar novas tentativas idempotentes.
Serviço relevante:
Outras ferramentas:
Extrair, carregar, transformar (ELT)
O ELT (extração, carregamento e transformação) difere do ETL somente no local em que ocorre a transformação. No pipeline de ELT, a transformação ocorre no repositório de dados de destino. Em vez de usar um mecanismo de transformação separado, as funcionalidades de processamento do armazenamento de dados de destino são usadas para transformar os dados. Isso simplifica a arquitetura ao remover o motor de transformação do pipeline. Outro benefício dessa abordagem é que o dimensionamento do armazenamento de dados de destino também dimensiona o desempenho do pipeline ELT. No entanto, o ELT só funciona bem quando o sistema de destino é poderoso o suficiente para transformar os dados com eficiência.
Os casos típicos de uso do ELT se enquadram no âmbito do Big Data. Por exemplo, você pode começar extraindo dados de origem para arquivos simples no armazenamento escalonável, como um HDFS (Sistema de Arquivos Distribuído hadoop), armazenamento de blobs do Azure ou Azure Data Lake Storage Gen2. Tecnologias como Spark, Hive ou PolyBase podem ser usadas para consultar os dados de origem. O ponto-chave do ELT é que o armazenamento de dados usado para executar a transformação é o mesmo armazenamento de dados no qual os dados são, em última análise, consumidos. Esse repositório de dados lê diretamente do armazenamento escalável, em vez de carregar os dados em um armazenamento separado próprio. Essa abordagem ignora as etapas de cópia de dados presentes no ETL, que geralmente podem ser demoradas para grandes conjuntos de dados. Algumas cargas de trabalho materializam tabelas ou exibições transformadas para melhorar o desempenho da consulta ou impor regras de governança; O ELT nem sempre implica transformações puramente virtualizadas.
A fase final do pipeline ELT normalmente transforma os dados de origem em um formato mais eficiente para os tipos de consultas que precisam ter suporte. Por exemplo, os dados podem ser particionados por chaves normalmente filtradas. O ELT também pode usar formatos de repositório otimizados, como o Parquet, que é um formato de repositório colunar que organiza os dados por coluna para permitir compactação, pushdown de predicados e verificações analíticas eficientes.
Serviço Relevante da Microsoft:
- Microsoft Fabric Data Warehouse
- Lakehouse do Microsoft Fabric
- Pipelines de dados do Microsoft Fabric
Escolhendo ETL ou ELT
A escolha entre essas abordagens depende de seus requisitos.
Escolha ETL quando:
- Você precisa transferir as transformações pesadas para fora de um sistema de destino com recursos limitados
- Regras de negócios complexas exigem mecanismos de transformação especializados
- Requisitos regulatórios ou de conformidade exigem auditorias de homologação criteriosamente definidas antes do carregamento
Escolha ELT quando:
- Seu sistema de destino é um data warehouse moderno ou um lakehouse com escalabilidade elástica de processamento
- Você precisa preservar dados brutos para análise exploratória ou evolução futura do esquema
- A lógica de transformação se beneficia dos recursos nativos do sistema de destino
Fluxo de dados e fluxo de controle
No contexto dos pipelines de dados, o fluxo de controle garante o processamento ordenado de um conjunto de tarefas. Para impor a ordem de processamento correta dessas tarefas, restrições de precedência são usadas. Você pode pensar nessas restrições como conectores em um diagrama de fluxo de trabalho, conforme mostrado na imagem a seguir. Cada tarefa tem um resultado, como êxito, falha ou conclusão. Qualquer tarefa subsequente não inicia o processamento até que sua predecessora tenha sido concluída com um destes resultados.
Os fluxos de controle executam fluxos de dados como uma tarefa. Em uma tarefa de fluxo de dados, os dados são extraídos de uma fonte, transformados ou carregados em um armazenamento de dados. A saída de uma tarefa de fluxo de dados pode ser a entrada para a próxima tarefa de fluxo de dados e os fluxos de dados podem ser executados em paralelo. Ao contrário dos fluxos de controle, você não pode adicionar restrições entre tarefas em um fluxo de dados. No entanto, é possível adicionar um visualizador de dados para observar os dados conforme eles são processados por cada tarefa.
No diagrama, há várias tarefas dentro do fluxo de controle, uma das quais é uma tarefa de fluxo de dados. Uma das tarefas é aninhada em um contêiner. Os contêineres podem ser usados para fornecer estrutura às tarefas, fornecendo uma unidade de trabalho. Um exemplo disso são elementos de repetição em uma coleção, como arquivos em uma pasta ou instruções de banco de dados.
Serviço relevante:
ETL reverso
O ETL reverso é o processo de mover dados transformados e modelados de sistemas analíticos em ferramentas operacionais e aplicativos. Ao contrário do ETL tradicional, que move dados de sistemas transacionais para plataformas de análise, o ETL reverso ativa insights ao enviar dados curados de volta para os sistemas em que os usuários de negócio podem agir com base neles. Em um pipeline de ETL reversa, os dados fluem de data warehouses, lakehouses ou outros repositórios analíticos para sistemas de operação, como:
- Plataformas de CRM (gerenciamento de relacionamento com o cliente)
- Ferramentas de automação de marketing
- Sistemas de suporte ao cliente
- Bancos de dados de carga de trabalho
A abordagem ainda segue um processo de extração, transformação e carregamento. A etapa de transformação é a etapa em que você converte os dados do formato específico usado pelo seu data warehouse ou outro sistema analítico para o formato do seu sistema de destino.
Consulte Extração reversa, transformação, & carregamento (ETL) com o Azure Cosmos DB for NoSQL para ter acesso a um exemplo.
Streaming de dados e arquiteturas de caminho ativo
Quando você precisa de uma arquitetura Lambda de caminho ativo ou de uma arquitetura Kappa, pode se inscrever em fontes de dados conforme os dados são gerados. Ao contrário de ETL ou ELT, que operam em conjuntos de dados em lotes agendados, o streaming em tempo real processa dados à medida que chegam, permitindo insights e ações imediatos.
Em uma arquitetura de streaming, os dados são ingeridos de fontes de eventos em um agente de mensagens ou hub de eventos (como Hubs de Eventos do Azure ou Kafka) e processados por um processador de fluxo (como Fabric Real-Time Intelligence, Azure Stream Analytics ou Apache Flink). O processador aplica transformações como filtragem, agregação, enriquecimento ou junção com dados de referência, tudo em movimento, antes de rotear resultados para sistemas downstream, como dashboards, alertas ou bancos de dados.
Essa abordagem é ideal para cenários em que a baixa latência e as atualizações contínuas são críticas, como:
- Monitoramento de equipamentos de fabricação para anomalias
- Detectando fraudes em transações financeiras
- Como alimentar painéis em tempo real para logística ou operações
- Acionamento de alertas com base nos limiares do sensor
Considerações de confiabilidade para streaming
- Usar o ponto de verificação para garantir o processamento pelo menos uma vez e recuperar-se de falhas
- Projete as transformações para que sejam idempotentes a fim de lidar com possível processamento duplicado.
- Implementar marcas d'água para eventos que chegam com atraso e processamento com problemas
- Usar filas de mensagens mortas para mensagens que não podem ser processadas
Opções de tecnologia
Armazenamentos de dados:
- Armazenamentos de dados OLTP (Processamento de Transações Online)
- Armazenamentos de dados OLAP (processamento analítico online)
- Data warehouses
Pipeline e orquestração:
- Orquestração de pipeline
- Microsoft Fabric Data Factory (orquestração moderna)
- Azure Data Factory (cenários híbridos e sem Fabric)
Lakehouse e análise moderna: