Pular para o conteúdo principal

O que é Ingestão de dados?

Ingestão de dados é o processo de coleta de dados oriundos de várias fontes e de sua cópia para um sistema de destino com o fim de armazenamento e análise. Os sistemas modernos consideram que os dados “fluem” entre sistemas e dispositivos em diversos formatos e velocidades. Por exemplo, os dados de sensores inteligentes são recebidos continuamente como um fluxo constante de entrada do sensor, enquanto os dados de vendas dos clientes podem ser coletados e enviados no final do dia em lotes. As diferentes fontes de dados requerem diversas verificações de validação, pré-processamento e gerenciamento de erros antes que os dados cheguem ao se destino. A ingestão de dados inclui todas as tecnologias e processos necessários para a coleta segura de dados análises adicionais.

Por que a ingestão de dados é importante?

O processo de ingestão de dados é a primeira etapa em qualquer pipeline de dados. Ele garante que os dados brutos sejam adequadamente coletados, preparados e disponibilizados para processos posteriores. A seguir, foram elencados os motivos pelos quais a ingestão precisa de dados é essencial.

Suporte à priorização de dados

Analistas de negócios e cientistas de dados priorizam as fontes de dados mais críticas, configurando canais de ingestão de dados para processamento e integração eficientes. Dependendo das necessidades de uma operação, os dados priorizados são movidos para limpeza, desduplicação, transformação ou propagação. Essas etapas preparatórias são vitais para operações de dados eficientes. Uma abordagem priorizada aumenta a eficiência dos negócios e, ao mesmo tempo, simplifica o processamento de dados.

Remoção de silos de dados

Ao coletar dados de várias fontes e convertê-los em um formato unificado, a ingestão de dados garante que as organizações possam obter uma visão consolidada de seus ativos de dados. Esse processo ajuda a evitar silos de dados, tornando as informações mais acessíveis entre os departamentos para melhorar a colaboração.

Processo acelerado pela automação

Depois de construir um sistema de ingestão de dados, os engenheiros de dados podem configurar vários controles de automação para acelerar ainda mais o processo. Esses processos alimentam facilmente outras ferramentas orientadas a dados, como modelos de machine learning e IA, que dependem desses dados. Pipelines de dados automatizados também ajudam a agilizar o processo geral.

Melhoria da análise

As informações relevantes devem estar prontamente disponíveis para que a análise de dados seja eficaz. Durante a ingestão de dados, é possível combinar várias fontes ou realizar atividades de enriquecimento de dados. A camada de ingestão de dados direciona os dados para os sistemas de armazenamento apropriados, como data warehouses ou data marts especializados, garantindo acesso rápido e confiável. O acesso sob demanda aos dados permite o processamento e a análise de dados em tempo real. Sua organização pode usar os resultados da análise de dados para tomar decisões de negócios mais precisas.

Quais são os tipos de processos de ingestão de dados?

A ingestão de dados e as abordagens variam de acordo com o volume, a velocidade e o caso de uso dos dados.

Ingestão de dados em lote

As ferramentas de ingestão em lote coletam dados em um período designado, ingerindo dados de um grupo de várias entradas de uma só vez. Normalmente, elas são configuradas para recuperar dados em intervalos programados, como final do dia, fim de semana ou final do mês. Por exemplo, o software de edição de imagens carrega automaticamente todas as imagens editadas para a nuvem no final do dia.

O processamento de dados em grandes lotes pode ser um processo rápido ou lento se envolver grandes quantidades de dados. Se a transferência for lenta e houver erros, reiniciar o lote pode ser caro e complexo. Engenheiros de dados que usam o processamento em lotes criam pipelines tolerantes a falhas que permitem que eles comecem de onde o lote foi interrompido pela última vez.

Essa abordagem funciona melhor quando é necessário analisar dados históricos ou quando o tempo não é relevante. Para ingerir dados quase em tempo real ou em tempo real, um dos métodos a seguir geralmente será preferível.

Ingestão de dados de streaming

As ferramentas de ingestão de dados de streaming coletam dados assim que são gerados, como ao ingerir dados de sensores de IoT que, por sua vez, fazem leituras contínuas. Embora o streaming garanta o acesso aos dados mais recentes, ele pode consumir muitos recursos. Os engenheiros de dados devem lidar com erros do sistema ou da rede e atrasos na rede, que podem causar perda de dados e criar lacunas no fluxo de dados.

Há duas abordagens para a ingestão de dados de streaming.

Ingestão baseada em pull

A ferramenta de ingestão consulta fontes e realiza a extração de dados. Ela pode fazer isso continuamente ou em intervalos predefinidos.

Ingestão baseada em push

A fonte de dados envia os dados para a ferramenta de ingestão assim que gera novas informações.

Ingestão de microlotes

A ingestão de dados em microlotes divide os fluxos de dados contínuos em partes menores e mais gerenciáveis, chamadas de fluxos discretizados. Essa abordagem equilibra as vantagens da ingestão em lote e streaming. Apesar de ser ideal para cenários em que o processamento em tempo real é desejado, o streaming completo consome muitos recursos. No entanto, a ingestão em microlotes ainda apresenta algum atraso em comparação com a ingestão pura de streaming.

O processamento em microlotes é uma forma econômica de obter uma ingestão de dados quase em tempo real sem pagar os custos mais altos associados ao streaming.

Ingestão orientada a eventos

Esta é uma forma especializada de ingestão baseada em push. Os sistemas orientados a eventos ingerem dados quando um evento ou gatilho específico ocorre, em vez de continuamente ou em intervalos definidos. Essa abordagem é comumente usada para aplicações como processamento de pedidos, notificações de clientes e monitoramento do sistema. Este método reduz a movimentação desnecessária de dados e otimiza o uso de recursos ao apenas ingerir dados quando necessário. No entanto, o funcionamento eficiente depende de gatilhos de eventos e mecanismos de tratamento de eventos bem definidos.

Captura de dados de alteração

Os sistemas de captura de dados alterados (CDC) são um tipo de ingestão baseada em eventos comumente usado para replicação de banco de dados, armazenamento incremental de dados e sincronização entre sistemas distribuídos. A ferramenta de ingestão de dados ingere somente as alterações feitas em um banco de dados, em vez de transferir conjuntos de dados inteiros. Ao monitorar eventos de logs de transações, o CDC identifica inserções, atualizações e exclusões, propagando-as para outros sistemas quase em tempo real. O CDC minimiza os custos de transferência de dados e melhora a eficiência, mas requer suporte do sistema de banco de dados subjacente e pode causar alguma sobrecarga de processamento.

Qual a diferença entre ingestão, integração de dados e ETL?

Esses conceitos geralmente são confundidos, mas têm distinções importantes.

Ingestão de dados versus integração de dados

A integração de dados se refere à combinação de diferentes conjuntos de dados em uma visão unificada. Este é um termo abrangente e aborda a movimentação de dados de vários sistemas de origem para um único sistema de destino, mesclando-os, eliminando os considerados como desnecessários, eliminando duplicatas e, em seguida, analisando esses dados para obter insights aprofundados. Por exemplo, a integração de dados do perfil do cliente com os dados de compra de pedidos pode fornecer informações sobre as preferências de pedidos de uma determinada faixa etária ou localização demográfica.

A ingestão de dados é a primeira etapa em qualquer pipeline de integração de dados. No entanto, a integração de dados envolve outras ferramentas e tecnologias além da ingestão, incluindo pipelines de extração, transformação, carregamento (ETL) e consulta de dados.

Ingestão de dados versus ETL e ELT

Extração, transformação, carregamento (ETL) é um tipo de arquitetura de várias etapas que melhora a qualidade dos dados em vários estágios ou saltos. No pipeline de ETL, os dados são extraídos de sua fonte, transformados em formatos desejáveis pelas ferramentas de análise e, em seguida, carregados em um sistema de armazenamento de dados, como um data warehouse ou lake.

Extração, carregamento e transformação (ELT) é um pipeline alternativo que reverte os segmentos de transformação e carregamento de dados do ETL. É uma arquitetura de salto único, o que significa que os dados são carregados e transformados no sistema de destino.

Ingestão de dados se refere aos estágios de extração e carregamento dos pipelines ETL e ELT. No entanto, tanto o ETL quanto o ELT fazem mais do que apenas a ingestão de dados, realizando o processamento de dados na fase de transformação.

Quais são os desafios da ingestão de dados?

A seguir, foram elencados alguns desafios que as empresas devem considerar ao ingerir dados.

Escala

Escalar os sistemas de ingestão de dados é um desafio para as organizações devido ao volume de dados e em situações cuja velocidade dos dados aumenta com o tempo.

Escalabilidade horizontal e vertical

As organizações usam duas estratégias principais de escalabilidade. A escalabilidade horizontal envolve a distribuição de workloads de ingestão em vários nós. Isso requer balanceamento de carga e coordenação eficientes para evitar gargalos. A escalabilidade vertical depende do aumento da capacidade de processamento em um único nó, o que pode ser mais fácil de projetar, mas é limitado pela própria capacidade de processamento do nó. Um dos principais desafios é garantir que o pipeline de ingestão possa lidar com um volume crescente de dados sem causar atrasos ou falhas no sistema.

Para superar os desafios de escalabilidade, o Amazon Kinesis Data Streams oferece soluções para ingestão de dados em tempo real com escalabilidade horizontal. Como alternativa, o Amazon EMR permite que os usuários executem e escalem facilmente o Apache Spark, o Trino e outras workloads de big data.

Arquiteturas sem servidor

Pipelines sem servidor são arquiteturas de ingestão de dados sob demanda que não exigem configuração e implantação de instâncias. As arquiteturas sem servidor são mais adequadas para padrões variáveis de ingestão de dados ou ingestão orientada por eventos.

Na AWS por exemplo, os pipelines de ingestão sem servidor podem ser criados com o Amazon Data Firehose e o AWS Lambda.

Segurança

A segurança e a conformidade são preocupações essenciais durante a ingestão de dados, especialmente ao lidar com informações confidenciais. As organizações devem cumprir as regulamentações de privacidade de dados, que impõem requisitos rígidos de coleta, transmissão e armazenamento de dados.

Algumas práticas recomendadas para segurança de dados durante a ingestão incluem:

  • Criptografia de dados em trânsito e em repouso
  • Controles de acesso e mecanismos de autenticação
  • Técnicas de mascaramento e anonimização de dados para proteger informações de identificação pessoal (PII)

Para ajudar a proteger a segurança dos dados durante a ingestão na AWS, você pode usar serviços como:

Confiabilidade da rede

Interrupções na rede, falhas de API e disponibilidade inconsistente de dados podem interromper o processo de ingestão de dados. Esses eventos podem repercutir em desafios como corrupção de dados. A sobrecarga de dados de qualquer fonte pode resultar em possível perda de dados ou desacelerar temporariamente sistemas como data warehouses. O controle de utilização adaptativo pode ser necessário para gerenciar picos no fluxo de dados. O gerenciamento de pressão de retorno permite que a ferramenta de ingestão de dados processe os dados recebidos em uma taxa correspondente à sua capacidade de processamento.

Tentar processar novamente dados que falharam é outra estratégia de tratamento de erros. A ferramenta de ingestão de dados envia solicitações de reenvio para a fonte quando identifica dados corrompidos ou ausentes. A nova tentativa aumenta a precisão, mas pode afetar o throughput e a latência previstos.

Para implementar novas tentativas automatizadas na AWS, é possível criar seus próprios fluxos de trabalho através do AWS Step Functions, enquanto o Amazon Kinesis oferece políticas e processos configuráveis para gerenciar o fluxo de dados de entrada.

Qualidade dos dados

Quando os dados chegam ao pipeline de ingestão de dados de várias fontes, não há garantia de que eles estarão em um formato consistente aplicável à organização. As fontes de dados brutos podem conter valores ausentes, formatos de dados incorretos e incompatibilidades de esquemas. Esse é justamente o caso quando se trabalha com dados não estruturados, pois a falta de uniformidade adiciona camadas de interação e limpeza adicionais.

As ferramentas de ingestão de dados geralmente incluem verificações de qualidade de dados e implementam métodos para validar, limpar e padronizar dados. A desduplicação automatizada, a imposição de esquemas e a detecção de anomalias orientada por IA podem ajudar a identificar e corrigir erros antes que eles se propaguem ainda mais no pipeline de dados.

As ferramentas de qualidade de dados na AWS incluem o AWS Glue Data Quality para regras de qualidade e automação, e o Amazon DataZone para catalogação e governança de dados.

Como as estruturas de ingestão de dados prestam suporte a melhores decisões de negócios?

O acesso mais oportuno a dados precisos ajuda as equipes a identificar tendências com mais rapidez, responder às necessidades dos clientes à medida que elas evoluem e ajustar as estratégias em tempo real. Sua organização estará mais bem equipada para tomar decisões com base em evidências, não em suposições.

Pipelines de dados seguros e confiáveis proporcionam mais confiança

Clientes e órgãos reguladores esperam que as empresas administrem dados com responsabilidade. Processos de ingestão de dados bem-projetados ajuda no atendimento dessas expectativas, garantindo que os dados sejam coletados, transitados e acessados com segurança.

Isso traz benefícios além das melhorias operacionais imediatas e perceptíveis. A conformidade se torna mais confiável e, ao demonstrar uma administração segura de dados em seus data warehouses, a confiança interna entre as equipes pode aumentar e fortalecer a confiança do cliente.

Simplifique a conformidade e os relatórios em toda a sua empresa

Um processo confiável de ingestão de dados ajuda sua organização a atender aos requisitos normativos e simplificar as auditorias. Quando os dados de toda a empresa são coletados de forma consistente e segura, um registro claro e rastreável das operações é criado, o que é especialmente importante para manter a conformidade com padrões como o Regulamento Geral de Proteção de Dados (GDPR), a Lei de Portabilidade e Responsabilidade de Seguros de Saúde (HIPAA) ou o Padrão de Segurança de Dados do Setor de Cartões de Pagamento (PCI DSS).

A ingestão automatizada de dados reduz o risco de erro humano e garante que os dados necessários sejam capturados em tempo hábil. Isso facilita a geração de relatórios precisos, a resposta às solicitações do auditor e a demonstração de que suas práticas de dados são transparentes e controladas.

Inovação mais rápida em todas as equipes

Quando os dados são ingeridos de forma confiável e disponibilizados rapidamente, as equipes de toda a empresa podem se tornar mais ágeis. Por exemplo, as equipes de produto, marketing e operações podem testar hipóteses, medir os resultados em seu sistema de gerenciamento de relacionamento com o cliente (CRM) e iterar sem esperar que a TI prepare conjuntos de dados. Com canais de ingestão automatizados, essas equipes obtêm acesso por autoatendimento a dados novos e confiáveis que podem acelerar o tempo de obtenção de informações.

Como a AWS pode prestar suporte aos seus requisitos de ingestão de dados?

A AWS fornece serviços e recursos para a ingestão de diferentes tipos de dados em bancos de dados na Nuvem AWS ou em outros serviços de analytics. Por exemplo:

  • O Amazon Data Firehose faz parte da família de serviços Kinesis que se expande automaticamente para corresponder ao volume e ao throughput dos dados de streaming e não requer administração contínua.
  • O AWS Glue é um serviço ETL sem servidor e totalmente gerenciado que categoriza, limpa, transforma e transfere dados de forma confiável entre diferentes datastores de forma simples e econômica.
  • O AWS Transfer Family é um serviço de transferência totalmente gerenciado e seguro para mover arquivos para dentro e para fora dos serviços de armazenamento da AWS.
  • Os bancos de dados da AWS e o AWS Database Migration Service (DMS) fornecem mecanismos para captura e transmissão de alterações por meio de todos os serviços de banco de dados da AWS. Você pode usar a Captura de dados de alteração (CDC) nativa do Amazon DynamoDB ou do Amazon Neptune para reduzir a complexidade dos seus pipelines de integração de dados. Outra opção é usar a CDC no AWS Database Migration Service (DMS), que extrai as alterações do log de transações da origem. O DMS é um serviço altamente disponível, com resiliência para essas tarefas de replicação de longa duração. Seus fluxos de dados podem ser transformados e distribuídos opcionalmente através do Amazon MSK, do Amazon Kinesis ou do AWS Glue.
  • O Amazon Managed Streaming for Apache Kafka (Amazon MSK) é um serviço totalmente gerenciado que facilita a criação e execução de aplicações que usam o Apache Kafka de código aberto para ingestão de stream.

Também é possível instalar plataformas de ingestão de dados personalizadas no Amazon EC2 e no Amazon EMR, e criar suas próprias camadas de armazenamento e processamento de streams. Dessa forma, você evita conflitos de provisionamento de infraestrutura e obtém acesso a várias estruturas de armazenamento e processamento de streams.

Comece a usar a ingestão de dados na AWS criando uma conta gratuita hoje mesmo.