Sobre o
PROJETO

Evolução de um Data Warehouse: Desafios na criação de um Data Lake na nuvem AWS

Introdução

Com 47 anos de experiência no ensino de inglês e espanhol, o CNA é uma das maiores redes de ensino de idiomas do país, com mais de 600 escolas em todo o território nacional. Sua metodologia moderna explora elementos presenciais e a distância, além de inovadores recursos tecnológicos, que inserem o idioma no cotidiano do aluno a fim de proporcionar fluência ao falar, ler, escrever e compreender a língua mais naturalmente.

Como parte de sua jornada de Transformação Digital e para suportar sua cultura de decisão direcionada a dados, sentiu a necessidade de modernizar sua infraestrutura de dados & analytics evoluindo de um modelo já baseado em data Warehouse para uma arquitetura mais ágil, escalável e alinhada com as novas demandas do negócio.

Desta necessidade surgiu o projeto Data Lake CNA.

Desafio

A modernização do Data Warehouse para um modelo baseado em nuvem, proporcionou inúmeros desafios no projeto, o levantamento destes desafios foi essencial para a criação da solução personalizada que conseguisse atender as necessidades do CNA. Conheças os principais desafios:

– Infraestrutura:
Criação de uma infraestrutura ágil, robusta e sofisticada suficiente para atender as complexidades do CNA de uma forma economicamente eficiente e escalável;

– Velocidade:
No processo de transformação de dados e disponibilização das informações nos Dashboards para análise e tomada de decisões;

– Integração:
Flexibilidade para disponibilizar informações para consumo por outras soluções de Inteligência Artificial e Machine Learning já utilizadas pelo CNA;

– Flexibilidade:
Ingestão e transformação de dados de diversas fontes (on-premisses, nuvens públicas, database solutions) e formatos (databases, planilhas, documentos etc.);

– Confiabilidade:
Maior segurança no processo de ingestão de dados com monitoramento de todo o processo;

Visibilidade:
de cada etapa do processo de integração e disponibilização dos dados;

– Governança:
Gerenciamento de cada etapa do processo (Extração, Transformação e Carga) além de um controle de versionamento da solução utilizando o GIT (Git é um sistema de controle de versão de arquivos. Através deles podemos desenvolver projetos na qual diversas pessoas podem contribuir simultaneamente no mesmo, editando e criando arquivos e permitindo que os mesmos possam existir sem o risco de suas alterações serem sobrescritas).

Solução

Para atender as necessidades e desafios do projeto, o Time de Engenharia de Dados da BRLink teve como foco principal desenvolver uma arquitetura ágil para o processo de carga de dados. Os dados se encontravam em servidores on-premisses e o envio para a nuvem da AWS precisava ser feita de maneira automatizada, escalável e com otimização de tempo e custos.

O primeiro passo foi utilizar um framework de migração dos dados, que utiliza recursos de ServerLess computing (Lambda, SQS e Event Bridge) juntamente com o Data Migration Service (DMS), de maneira orquestrada. Esse framework possibilita a criação de todos os recursos necessários para que o DMS possa se conectar a cada servidor on-premisse do cliente, e assim, identificar todas as tabelas, os schemas e databases que serão migrados, para então realizar a carga dos dados que estejam distribuídos nesses servidores, e trazê-los para dentro do Amazon S3, unificando todos os dados dentro do Data Lake do CNA.

Esse framework também possibilita a identificação do fim de cada processo de migração, para que os recursos que foram ativados do DMS sejam desativados. Essa funcionalidade também foi aplicada dentro da arquitetura do projeto do CNA, o que possibilita que gastos desnecessários como por exemplo, o de instâncias de replicação ativas fora da janela de replicação, não aconteçam.

Para o melhor funcionamento do framework, tratamento de erros, e para manter a entrega dos dados sempre dentro do esperado, utilizamos recursos de monitoramento, alimentados a partir dos logs gerados pelo CloudWatch, e métricas customizadas, como: identificar erro de conexão e identificar erro na tarefa. Com esses logs é possível criar dashboards de monitoração no Grafana, com propósito de notificar o time de operações da BRLink ou a equipe do CNA sobre a saúde das execuções e das cargas de dados.

Passado a fase de migração dos dados, também é utilizado o Lambda junto com o Event Bridge para o agendamento da cópia dos dados “mornos”, ou seja, os dados migrados recentemente, para um outro bucket no S3, que contém todo o histórico de dados cada tabela, particionada por data, que podem ser utilizados para análises futuras.

Outro recurso de serverLess computing utilizado nesse projeto é o Glue, que nesse caso tem o papel de mapear todas as tabelas que chegam ao bucket s3 após o processo de migração, identificar seus schemas e definições, organizar os metadados dentro de um catálogo e disponibilizar esses dados para serem consumidos pelo Athena e pelo Redshift Spectrum. Na nossa arquitetura, esse crawler é ativado pelo mesmo lambda que deleta os recursos DMS após as transferências dos dados.

Resultados

Dessa forma o cliente terá todos os dados unificados e atualizados automaticamente no Data Lake, utilizando a tecnologia do Redshift Spectrum, juntamente com os dados armazenados no S3, que é um ambiente com um custo de armazenamento bem menor que o Redshift em si. Esses dados também podem ser persistidos dentro do cluster do Redshift, o que traz uma performance melhor na movimentação dos mesmos, inclusive para o desenvolvimento dos dashboards na plataforma de bussiness intelligence do cliente.

A utilização desses recursos em conjunto, nos permite oferecer para o CNA uma solução automatizada e monitorada de ponta a ponta, onde a grande maioria dos processos pelo qual o dado passa são ativados e desativados de maneira orquestrada e sem a interferência humana, possibilitando o melhor aproveitamento dos recursos com o menor custo possível.

Clique na imagem para ampliar:

Entre em
CONTATO

Para descobrir como nossos serviços auxiliam os seus negócios, entre em contato conosco.

Tem alguma dúvida?
LIGUE PRA NÓS!

Olá!

Gostaria de receber uma ligação?

NÓS TE LIGAMOS
Informe seu telefone que entraremos em contato o mais rápido possível.
Gostaria de agendar e receber uma chamada em outro horário?
Deixe sua mensagem! Entraremos em contato o mais rápido possível.