Construindo uma infraestrutura de dados — A origem

Ricardo Nakano
Tech at Quero
Published in
4 min readJul 8, 2019

Entregar, armazenar e processar dados de maneira confiável, sendo uma tech giant ou uma pequena startup, é imprescindível para uma empresa data-driven

Como o primeiro engenheiro de dados da Quero, compartilharei aqui todo o processo da promoção da infraestrutura de dados da empresa desde seus primeiros insights à execução dos primeiros passos. Como uma startup que cresceu rapidamente em menos de seis anos, criar uma infraestrutura para gerenciar os dados requer meses de estudos e provavelmente da contratação de uma consultoria especializada no assunto.

Na Quero, em pouco menos de três meses, criamos a estratégia e começamos o processo da arquitetura de dados inicialmente bastante robusta com um time de três profissionais. O êxito alcançado não veio sem enfrentarmos desafios, que listo neste artigo e em outros em um futuro breve.

Papel, caneta e esboço

O time de Data Engineering da Quero Educação trabalhou incessantemente na análise de processos de coleta, movimento, armazenamento e preparação de dados para que pudéssemos, por fim, gerenciar os workflows, as pipelines e os processos de ETL.

Os componentes inseridos para a infraestrutura de dados da Quero foram feitos para compô-la da seguinte forma, seguindo o workflow a seguir:

Injeção de Dados → Data Lake →

→ Data Warehouse → Data Visualization

Entre a criação da infraestrutura do zero e a aquisição de ferramentas prontas, diversos testes e inúmeras PoCs (Proof of Concept) foram indispensáveis para comprovar qual seria a melhor solução. Foram testadas diferentes ferramentas para validar as hipóteses que tínhamos em relação aos produtos, principalmente de data lake e data warehouse, encontrados no mercado.

Desafios e resoluções, um exercício diário

Primeiros sketches da engenharia de dados da Quero

No processo de construção, vimos obstáculos e desafios que nos serviram como elementos-chave para a tomada de decisão na consolidação desse projeto. Mais do que apontar os sucessos, é necessário posicionar os principais desafios encontrados para que conseguíssemos traçar a estratégia final.

O primeiro desafio encontrado foi a necessidade da entrega do projeto sem tempo para a contratação e treinamento de novos membros do time. Com a reestruturação da organização da nossa startup, consolidamos um novo olhar sobre a área de data engineering, que provou a necessidade de criar uma nova infraestrutura.

Essa decisão chegou com uma urgência real e os resultados, com prazo apertado, precisavam ser entregues mesmo com a equipe reduzida. O desafio e sua resolução, ainda assim, comprovaram a capacidade técnica do time e a estruturação do ponto de partida de nossa infraestrutura, ou seja, o data lake.

A escolha pela estruturação do data lake em primeiro momento ocorreu, entre diversas razões mais evidentes, pelo fato dos analistas da Quero Educação estarem acostumados a consumirem dados não tratados. Ao contrário de outras empresas, nas quais compõem, em seu time de analistas, profissionais consumindo dados por meio do data warehouse, a escolha pela consolidação do data lake não interferiu, portanto, no consumo de dados com qualidade.

Nossos estudos também comprovaram que a aquisição de ferramentas já existentes no mercado gerariam menor manutenção e menos bugs a pequeno e longo prazos. Entendemos que empresas que escolheram o desenvolvimento de ferramentas próprias para engenharia de dados reproduziam problemas contrários à otimização de consumo de dados, que procurávamos na estruturação de nossa equipe.

Portanto, após as PoCs realizadas, escolhemos o Databricks, como nosso data lake. Ele se provou simples e rápido para fazer o setup inicial. O Databricks tira toda a dificuldade de criação, comunicação e de máquinas na nuvem, além de conseguir separar a camada de storage da camada de computação, deixando o custo mais barato.

Outro desafio superado foi a paralelização de tarefas em um time de três pessoas. Durante a estruturação da equipe, algumas tarefas, como, por exemplo, assumir o consumo de APIs de outras equipes durante o desenvolvimento da base de nossa infraestrutura.

Vemos também a mudança de cultura e o investimento financeiro de qualquer empresa, seja uma tech giant ou uma pequena startup, como indispensáveis para a estabilização da infraestrutura de dados.

Um grande exemplo foi o investimento em clusters. No início, cerca de trinta pessoas utilizavam um único cluster. Com o investimento financeiro, quadruplicamos o número de clusters, otimizando o trabalho de todos, inclusive o do engenheiro de dados.

Da base até o fim do fluxo

Mais que sistemas de informação, sistemas distribuídos, SQL e python, um bom engenheiro de dados precisa estar preparado para os desafios de entregas, deployment e integração de dados contínuos entendendo a melhor forma de assim fazê-lo.

Com a estruturação do data lake, utilizando o Databricks, seguimos para mais um passo do nosso workflow mostrado acima. Da injeção de dados, passando pelo Databricks, como data lake de escolha, e pelo data warehouse, até o data viz, requer tempo e uma série de artigos da qual este faz parte: Construindo uma infraestrutura de dados na Quero Educação.

No final desta série, mostraremos não apenas desafios, mas também resultados e números para transformar o consumo de dados acessível a todos os colaboradores e, assim, continuarmos na evolução tecnológica da edtech que mais cresce no país.

--

--