O blogue da AWS

#AWS Summit Insights: Utilizando NoSQL para Big Data com DynamoDB – Caso Mercado Livre


O Amazon DynamoDB é um serviço de banco de dados NoSQL rápido e flexível para todas as aplicações que precisam de latência constante abaixo de 10 milissegundos em qualquer escala, e pode ser usado como uma importante ferramenta para projetos de Big Data. Em uma das sessões do AWS Summit 2016, o arquiteto de soluções AWS Felipe Garcia apresentou modelos de arquiteturas funcionais de Big Data, e demonstrou como a combinação de alguns dos nossos produtos podem ser usados para criar sistemas ricos para análises de dados, como faz o Mercado Livre, o site de varejo mais acessado na América Latina e no Brasil, e o oitavo mais visitado em todo mundo neste segmento.

O que é Big Data?

Como muitos jargões na tecnologia, Big Data é definido de diversas maneiras, mas entre suas variáveis há características centrais que o definem: volume, variedade e velocidade. Isso porque a quantidade de dados está aumentando em uma velocidade muito rápida, ao mesmo tempo em que essas informações são usadas para responder às perguntas de negócios.

Para saber como as aplicações estão sendo usadas e por quem, por exemplo, analisa-se os Arquivos de Log. Para definir o impacto da aplicação em seu negócio, deve-se monitorar seu desempenho, e as métricas geradas vão ajudar a observar, entre outras coisas, como os usuários respondem a uma nova funcionalidade. Tudo isso deve ser mensurado e usado sob a garantia de segurança, controlando quem tem acesso à sua estrutura e como a utilizam.

Com mais dispositivos conectados à internet, tornou-se comum um volume de gigabytes por segundo, um desafio e tanto para grandes plataformas como o Mercado Livre.

Como combinar os produtos AWS para Big Data?

Como demonstrou Felipe Garcia no Summit, há diversas possibilidades de extrair e analisar dados com uma arquitetura de Big Data inteligente, durável e escalável com a AWS. Para pesquisar arquivos armazenados no Amazon S3, por exemplo, pode-se usar o Amazon DynamoDB como base primária dos metadados, e o Amazon ElasticSearch para indexar e pesquisar esses metadados. A combinação desses serviços cria um banco de dados durável, escalável, altamente disponível e com funcionalidades ricas de pesquisa.

Outro modelo interessante é a execução de consultas em múltiplas fontes usando Amazon Dynamo DB e o Amazon Elastic MapReduce, para rapidamente provisionar um cluster Hadoop com Hive, e destruí-lo ao terminar os processamentos. Essa opção permite que itens sejam unidos e consultados com uma grande variedade de fontes de dados.

Felipe Garcia ainda sugeriu um terceiro exemplo para ingerir, armazenar e analisar dados de sensores com Amazon DynamoDBAmazon Redshift e AWS Lambda. Quando um grande número de sensores estão realizando leituras em intervalos regulares, você precisa agregar os dados de cada leitura em um data warehouse para análise. Para isso, você pode usar o Amazon Kinesis para ingerir novos dados brutos, armazenar leituras dos sensores no Amazon DynamoDB para acesso rápido, e criar dashboards em tempo real; e, enfim carregar os dados do Amazon S3 no Amazon Redshift, utilizando AWS Lambda.

Como o Mercado Livre usa o Amazon DynamoDB?

O Amazon DynamoDB está no centro da estrutura usada para o processamento transacional de dados do Mercado Livre, que atende 151,5 milhões de usuários registrados em 16 países, 15 deles na América Latina, e Portugal, com a vantagem de extrair dados relevantes de todas as suas operações. E o desafio é grande: só em 2015, foram 36,8 milhões de artigos vendidos, mais de 3 milhões por mês, em média. Todas essas transações são rastreadas e analisadas com a ajuda dos produtos AWS.