ReclameAQUI Data Lake

Introdução

Resumo

ReclameAQUI é um negócio interessante e único. É um agregador de conteúdo para troca de experiências dos clientes (especialmente más experiências) sobre compras (online e offline). No entanto, vai além de um simples “site de reclamações”, oferecendo uma interface para as empresas responderem às reclamações, ajudando os clientes com seus problemas.

O serviço é simplesmente o maior neste sentido (mundial) recebendo diariamente 600K visitantes únicos, buscando a reputação de uma empresa antes de fechar um negócio/compra.

Problema

Apesar de já estarem avançados na abordagem de business digital, tendo a maioria dos serviços hospedados em Cloud computing e cultura analítica, seu Data Lake precisava de alguns upgrades. O maior motivador deste projeto foram as contas altíssimas da GCP, especialmente relacionadas ao consumo de dados no BigQuery.

Além das tarefas de redução de custos e otimização do processo de ingestão de dados, aproveitamos a oportunidade para implementar criptografia de dados at-rest, governança e obfuscação durante as queries contra o data lake. Tornando os dados acessíveis por todos na empresa, controlando o acesso e gerenciamento de identidade através do LDAP (auditando cada acesso, para estar em total conformidade com a GDPR), pudemos oferecer um Data Lake self-service para que diferentes atores empresariais pudessem satisfazer suas necessidades “bebendo” do lake.

Solução

Implementação técnica

Os principais objetivos foram otimização de custos do Data Lake existente, melhoria (e extensão) dos pipelines de ingestão de dados existentes, e aperfeiçoamentos na segurança.

Partindo pela otimização de custos do Data Lake, reimplantamos os pipelines de ingestão de dados, utilizando uma área de “landing” para dados brutos e posteriormente transformações eram realizadas para adequar os modelos de dados desejados. Salvando os resultados em outras camadas do Data Lake, para atingir maior performance nas queries.

Removemos as Streaming inserts no BigQuery adicionando um step para fazer load dos dados ao fim da ingestão. O Apache NiFi foi o principal software responsável pela orquestração e execução da ingestão de dados, abrangendo também as melhorias da ingestão de dados através da reengenharia dos processos.

A auditoria no Data Lake foi gerenciada através do Apache Ranger. Para ter suporte total, implementamos um driver JDBC usando um componente do Apache Calcite chamado Avatica. A autenticação para o Apache Ranger passou por um plugin personalizado (também desenvolvido durante o projeto) para LDAP consumindo informações de usuários do Google Cloud Identity, refletindo a organização de grupos e usuários existente do Google Suite.

Para tornar o jogo mais interessante, containerizamos o workflow e utilizamos bastante Kubernetes (GKE) para gerenciar estes componentes. A maioria dos componentes Apache não tinha Helm Charts na época e nós os desenvolvemos e tornamos alguns open-source.

Impacto e resultados

Durante o tempo do projeto pudemos medir uma estimativa de aproximadamente 56% de redução de custos do Data Lake através da otimização de recursos e reengenharia de processos, especialmente a remoção de Streaming inserts no BigQuery.

Obtivemos progresso relevante em termos de segurança e governança durante o projeto, com a introdução do Apache Ranger e auditoria de acesso e uso do Data Lake, fornecendo capacidades avançadas de segurança à ReclameAQUI, que se antecipou frente à LGPD e as preocupações em questão da privacidade dos dados.

Matheus Cunha
Matheus Cunha
Engenheiro de Sistemas e Mágico

Apenas um amante de tecnologia empoderando empresas com computação “high-tech” para ajudar na inovação (:

comments powered by Disqus