Um pipeline de dados é um método no qual dados brutos são ingeridos de várias fontes de dados, transformados e, em seguida, enviados para um repositório de dados, como um data lake ou data warehouse, para análise.
Antes que os dados fluam para um repositório, geralmente passam por algum processamento. Isso inclui transformações, como filtragem, mascaramento e agregações, que garantem integração de dados e padronização adequadas. Isso é particularmente importante quando o destino do conjunto de dados é um banco de dados relacional. Esse tipo de repositório possui um esquema definido, que exige alinhamento — ou seja, correspondência entre colunas e tipos de dados — para atualizar os dados existentes com os novos dados.
Como o nome sugere, os pipelines de dados funcionam como o "encaminhamento" para os projetos de ciência de dados ou dashboards de business intelligence. Os dados podem ser obtidos em uma grande variedade de lugares – APIs, bancos de dados SQL e NoSQL, arquivos, etc. – mas, infelizmente, esses dados geralmente não estão prontos para uso imediato. Durante o fornecimento, a linhagem de dados é rastreada para documentar a relação entre os dados corporativos em várias aplicações comerciais e de TI, por exemplo, onde os dados estão atualmente e como são armazenados em um ambiente, como no local, em um data lake ou em um data warehouse.
As tarefas de preparação de dados geralmente ficam a cargo de cientistas de dados ou engenheiros de dados, que estruturam os dados para atender às necessidades dos casos de uso de negócios e lidam com grandes volumes de dados. O tipo de processamento de dados que um data pipeline requer é geralmente determinado por uma combinação de análise exploratória de dados e requisitos de negócios definidos. Depois que os dados forem devidamente filtrados, mesclados e resumidos, eles podem ser armazenados e disponibilizados para uso. Pipelines de dados bem organizados fornecem a base para uma ampla gama de projetos de dados — isso pode incluir análises exploratórias, visualizações de dados e tarefas de aprendizado de máquina.
Existem vários tipos de pipelines de dados, cada um apropriado para tarefas específicas em plataformas específicas. Os tipos mais comuns incluem:
O desenvolvimento do processamento em lote foi um passo fundamental para construir infraestruturas de dados confiáveis e escaláveis. Em 2004, o MapReduce, um algoritmo de processamento em lote, foi patenteado e depois integrado a sistemas de código aberto, como o Hadoop, CouchDB e MongoDB.
Como o nome indica, o processamento em lote carrega "lotes" de dados em um repositório durante intervalos de tempo definidos, que normalmente são programados fora do horário de pico comercial. Dessa forma, outras cargas de trabalho não são afetadas, uma vez que os trabalhos de processamento em lote tendem a trabalhar com grandes volumes de dados, o que pode sobrecarregar o sistema geral. O processamento em lote geralmente é o pipeline de dados ideal quando não há uma necessidade imediata de analisar um conjunto de dados específico (por exemplo, contabilidade mensal) e está mais associado ao processo de integração de dados ETL, que significa "extrair, transformar e carregar."
Os trabalhos de processamento em lote formam um fluxo de trabalho com comandos em sequência, onde a saída de um comando se torna o input do próximo. Por exemplo, um comando pode iniciar a ingestão de dados, o seguinte pode ativar a filtragem de colunas específicas, e o próximo pode executar a agregação. Essa sequência de comandos continua até que a qualidade dos dados seja completamente transformada e reescrita em um repositório.
Ao contrário do processamento em lote, os pipelines de dados em streaming — também conhecidos como arquiteturas orientadas a eventos — processam continuamente eventos gerados por diversas fontes, como sensores ou interações de usuários em uma aplicação. Os eventos são processados e analisados, e então armazenados em bancos de dados ou enviados para análise posterior.
Dados em streaming são utilizados quando é necessário que os dados sejam continuamente atualizados. Por exemplo, aplicativos ou sistemas de ponto de venda precisam de dados em tempo real para atualizar o inventário e o histórico de vendas de seus produtos — assim, vendedores podem informar se um produto está ou não disponível. Uma única ação, como a venda de um produto, é considerada um “evento”, e eventos relacionados, como adicionar um item ao carrinho, são agrupados como um “tópico” ou “fluxo”. Esses eventos são então transportados por sistemas de mensagens ou brokers, como o Apache Kafka, de código aberto.
Como os eventos de dados são processados logo após ocorrerem, sistemas de processamento em streaming têm menor latência do que os sistemas em lote, mas não são considerados tão confiáveis, pois mensagens podem ser descartadas acidentalmente ou ficar muito tempo na fila. Brokers de mensagens ajudam a resolver isso com confirmações, onde o consumidor confirma ao broker que processou a mensagem, para que ela seja removida da fila.
Os pipelines de integração de dados se concentram em unir dados de várias fontes em uma única visão unificada. Esses pipelines geralmente envolvem processos de extração, transformação e carregamento (ETL) que limpam, enriquecem ou modificam os dados brutos antes de armazená-los em um repositório centralizado, como um data warehouse ou data lake. Pipelines de integração de dados são essenciais para lidar com sistemas díspares que geram formatos ou estruturas incompatíveis. Por exemplo, pode-se adicionar uma conexão ao Amazon S3 (Amazon Simple Storage Service) — um serviço da Amazon Web Services (AWS) que fornece armazenamento de objetos por meio de uma interface da web.
Uma plataforma de dados moderna inclui um conjunto de produtos de software nativos e prioritários na nuvem que permitem a coleta, limpeza, transformação e análise dos dados de uma organização para ajudar a melhorar a tomada de decisões. Hoje, os pipelines de dados tornaram-se cada vez mais complexos e essenciais para a análise de dados e para decisões orientadas por dados. Uma plataforma de dados moderna gera confiança nesses dados ao ingerir, armazenar, processar e transformá-los de forma a garantir informações precisas e em tempo hábil, reduzir silos de dados, permitir o autoatendimento e melhorar a qualidade dos dados.
Três etapas principais compõem a arquitetura de um pipeline de dados:
1. Ingestão de dados: os dados são coletados de diversas fontes — incluindo plataformas SaaS (software como serviço), dispositivos de Internet das coisas (IoT) e dispositivos móveis — e em diferentes estruturas de dados, tanto estruturados quanto não estruturados. No caso de dados em streaming, essas fontes brutas são conhecidas como produtores, publicadores ou remetentes. Embora empresas possam escolher extrair os dados somente quando prontos para processá-los, é melhor prática armazenar os dados brutos primeiramente em um data warehouse na nuvem. Assim, a empresa pode atualizar dados históricos, caso precise ajustar os trabalhos de processamento.Durante esse processo de ingestão, diversas validações e verificações podem ser aplicadas para garantir a consistência e a precisão dos dados.
2. Transformação de dados: nesta etapa, uma série de trabalhos é executada para processar os dados no formato exigido pelo repositório de destino. Esses trabalhos incorporam automação e controle para fluxos de trabalho repetitivos, como relatórios de negócios, garantindo que os dados sejam limpos e transformados de forma consistente. Por exemplo, um fluxo de dados pode estar em formato JSON aninhado, e a etapa de transformação vai descompactar esse JSON para extrair os campos-chave para análise.
3. Armazenamento de dados: os dados transformados são então armazenados em um repositório, onde podem ser acessados por diferentes stakeholders. No contexto de dados em streaming, esses dados transformados são geralmente chamados de consumidores, assinantes ou destinatários.
Você pode perceber que alguns termos, como pipeline de dados e pipeline ETL, são usados de forma intercambiável em conversas. No entanto, o mais apropriado é considerar o pipeline ETL como uma subcategoria dos pipelines de dados. Os dois tipos se distinguem por três características principais:
À medida que o big data continua crescendo, o gerenciamento de dados se torna uma prioridade cada vez maior. Embora pipelines de dados sirvam para várias funções, as seguintes são voltadas para aplicações de negócios:
Crie e gerencie pipelines de dados de streaming inteligentes por meio de uma interface gráfica intuitiva, facilitando a integração sem dificuldades dos dados em ambientes híbridos e de multinuvem.
Conheça o IBM Databand, o software de observabilidade para pipelines de dados. Ele coleta metadados automaticamente para criar linhas de base históricas, detectar anomalias e criar fluxos de trabalho para corrigir problemas de qualidade dos dados.
Crie pipelines de dados resilientes, de alto desempenho e de baixo custo para suas iniciativas de IA generativa, análise de dados em tempo real, modernização de armazéns e necessidades operacionais com as soluções de integração de dados da IBM.