O que é Ingestão de Dados
As organizações tomam decisões com base em dados. O valor desses dados depende da eficiência dos processos de Ingestão e Integração de Dados.
A Integração de Dados inclui processos para preparar os dados para serem consumíveis em seu destino final e utilização pelo usuário. A Ingestão de Dados aparece sendo o primeiro passo do processo de Integração de Dados.
A maior importância da Ingestão de Dados é que, caso seja feita de maneira inadequada, cada estágio seguinte será prejudicado, portanto, o planejamento holístico é essencial para uma pipeline de alto desempenho.
De acordo com a Qlik, Ingestão de Dados “refere-se às ferramentas e processos usados para coletar dados de várias fontes e movê-los para um local de destino, em lotes ou em tempo real. A camada de ingestão de dados é crítica para seus sistemas downstream de ciência de dados, BI e análise, que dependem de dados oportunos, completos e precisos”.
Com isso, Ingestão de Dados é termo amplo que se refere aos diferentes formas de buscar e transportar dados brutos de diferentes fontes para um local centralizado onde serão guardados para posterior processamento e análise, ou serão utilizados imediatamente.
A fonte dos dados pode ser qualquer uma, desde planilhas e informações coletadas na internet, SaaS, Internet das Coisas, até dados de terceiros, como sistemas CRM.
O destino usualmente são ambientes como data warehouses ou data marts na nuvem.
Um detalhe importante é que a Ingestão de Dados é movimento que mantem os dados na forma original.
Desse modo, os dados importados da fonte são enviados sem alterações, ou com transformações muito simples, como filtragens. O que pode acontecer em alguns casos é a reorganização ou seleção de dados para que a estrutura se adeque aos requisitos do destino, alguma verificação das Dimensões de Qualidade de Dados ou processo de anonimização de dados, visando a Integridade de Dados.
Demais transformações, como combinações, agregações, classificações e limpezas mais complexas são feitas posteriormente, em outros pipelines. A Ingestão de Dados leva os dados para locais onde essa preparação ocorre.
A Ingestão de Dados é um processo funciona bem para dados de streaming que podem ser usados imediatamente com pouquíssimas transformações ou como uma forma de coletar dados (principalmente grandes conjuntos de dados) para análise ad-hoc. Ao focar na parte de ingestão do ciclo de vida dos dados, as empresas conseguiram acelerar a disponibilidade de dados para inovação e crescimento.
Diferença entre ETL e Ingestão de Dados
Esse processo visa a coleta dos dados da fonte, a realização de transformações nos dados para organizá-los e o carregamento em um Data Warehouse ou Data Lake para posterior uso em relatórios e atividades de inteligência de negócio. Com isso, o foco do ETL é otimizar processos para realizar análises e transformar os dados.
Por outro lado, o objetivo da Ingestão de Dados é buscar os dados é o de coletar os dados e reorganizar a estrutura para a inserção em um destino, onde será processado futuramente.
Tipos de Ingestão de Dados
- Batch processing ou Processamento em lote
Esse tipo de Ingestão de Dados acontece quando a ingestão ocorre periodicamente, resultando em um “agrupamento” de dados (batches) a serem enviados ao destino.
Os grupos podem ser definidos por uma ordem lógica, pela definição de um gatilho (trigger) quando determinada condição é atingida ou através de um “agendamento” do processo, que irá ocorrer sempre em um determinado horário.
Os dados são coletados de forma incremental, ou seja, apenas os dados novos são processados.
Esse tipo de processamento é mais fácil e barato, sendo indicado especialmente quando não é preciso ter dados em tempo real ou quase em tempo real. Por exemplo, seria uma ótima opção para ingestões diárias de dados.
2. Real-time processing ou Stream processing ou Streaming ou Processamento em tempo real
Neste caso, não existe nenhum tipo de agrupamento de fontes de dados. O que ocorre é que os dados são enviados assim que são criados ou reconhecidos pelo sistema.
Por haver necessidade de um controle constante das fontes, esse tipo de processamento é mais caro e indicado quando há necessidade de ter dados continuamente atualizados ou em que haja maior sensibilidade com o tempo de reação e decisão, como no mercado de ações.
3. Micro batching
Este tipo de processamento seria como um processo entre os dois anteriores.
Os dados também são ingeridos em grupos, mas são incrementos muito menores e que são coletados com um menor espaçamento de tempo.
Dicas para processos de Ingestão de Dados
- Definir e documentar as fontes de dados, tipo de ingestão, destino dos dados e se haverá algum tipo de validação de dados
Quanto maior o número de fontes de dados, maior a possibilidade de existirem diferentes formatos de dados e destinos. Cada um pede um tipo de processamento e formatação de dados diferentes.
Deve-se levar também em consideração o tempo e a capacidade de processamento.
2. Escalabilidade
Considere a possibilidade de novos dados serem adquiridos em locais diferentes em uma mesma fonte de dados.
Ao invés de perder tempo criando uma nova ingestão, crie um processo que facilite a adição de novos locais de coleta em uma mesma fonte.
Desafios na Ingestão de Dados
Escala
Uma das principais dificuldades da Ingestão de Dados é lidar com dados em grande escala. Isso dificulta a validação da qualidade dos dados e adequação aos formatos e estruturas necessárias no destino final. Além disso, podem haver desafios na performance do processo.
Segurança
A diversidade de fontes, destinos e momentos de ingestão de dados ao longo do processo (pipeline) torna a exposição dos dados maior, levando a possibildiade de falhas na segurança dos dados. Ataques de hackers também são um desafio que vem aumentado.
Integração de Dados
É comum que os dados sejam ingeridos de diferentes fontes, ou mesmo de diferentes locais de uma mesma fonte. Isso pode gerar dados duplicados ou relações incorretas entre os dados de diferentes origens.
Qualidade de Dados
Acurácia e Completude são as dimensões de qualidade de dados que são mais facilmente afetadas por problemas de Ingestão de Dados.
Custo
Com o aumento do volume de dados e diversidade de fontes e tipos de dados, é necessário expandir o armazenamento e servidores, além de melhorar processos de segurança para cumprir com leis e regulações. Tudo isso gera novos custos.
Leis e regulamentações de proteção de dados
As regras de privacidade e proteção de dados tem se tornado mais completas e complexas.
Para responder a esses requisitos, é necessário adequar e monitorar processos de Ingestão de Dados constantemente. Ainda deve-se levar em consideração não apenas regulamentações como a GDPR e a LGPD, mas outras legislações mais específicas e a necessidade de auditorias quando se usam serviços terceirizados.
Como selecionar uma ferramenta de Ingestão de Dados
As ferramentas de Ingestão de Dados te ajudam a coletar e transferir diversos tipos de dados de forma automatizada a facilitada, principalmente quando não se há muita habilidade com o desenvolvimento de códigos manuais.
Na hora de escolher sua ferramenta, considere os seguintes fatores:
- Formato: os dados ingeridos são estruturados, semi-estruturados ou não estruturados?
- Frequência: Os dados serão ingeridos em tempo real ou em batches (lotes)?
- Volume de dados
- Privacidade: Existem dados sensíveis que precisam ser protegidos?
Exemplos de Ingestão de Dados
- Ingerir dados do Salesforce (CRM) para uma data warehouse visando análises no PowerBI
- Ingerir dados em tempo real do Twitter para uma realizar uma análise de sentimento
- Ingerir dados para treinar modelos de machine learning