Estudo de Caso

Estudo de Caso: Natura Obtém Belos Resultados com ScyllaDB

Sobre a Natura

A Natura é uma fabricante e comerciante de produtos de beleza e cuidados pessoais que atua através representantes e mais de 3,200 lojas em 70 países ao redor do mundo. Fundada em 1969, a Natura é hoje a maior empresa de cosméticos do Brasil.

Os pesquisadores do setor de P&D da Natura estudam cada ingrediente para entender como extrair o maior benefício para a pele e cabelo. Eles trabalham diretamente com mais de 30 comunidades locais na região amazônica—incluindo mais de 300 famílias—ajudando-os a desenvolver modelos de negócio sustentáveis que beneficiem a floresta amazônica.

O Desafio

A Natura possui uma arquitetura de streaming construída em cima de Kafka e Spark que suporta por volta de 400,000 mensagens por dia, com alguns clusters rodando 40 batches por dia. A Natura possui diversos bancos de dados para acomodar vários casos de uso, incluindo documentos e chave-valor. Para os casos de uso de chave-valor, a Natura inicialmente rodava Cassandra. No entanto, encontraram um número significante de problemas de performance, muitos dos quais foram causados pelo Java e seu sistema de garbage collection.

“Com o ScyllaDB, nós temos melhor performance, economizamos dinheiro, temos um ótimo suporte, e não tem mais JVM.”

Felipe Moz, Big Data Engineer, Natura

A Natura notou que o Cassandra desperdiça hardware. Rodando 5 nós de Cassandra, a Natura precisava de 11 discos primários para suportar a taxa de transferência necessária. Só o hardware—sem incluir as licenças de software—necessário para suportar tal topologia logo se tornou proibitivamente caro. Somando isso nos problemas de performance e de administração, ficou claro para o time da Natura que precisavam de uma alternativa.

A Solução

Enquanto pesquisando outras opções, a Natura descobriu o ScyllaDB. Rodando uma série de comparações lado-a-lado, viram uma melhor e mais previsível performance com menor latência com o ScyllaDB em comparação com o Cassandra.

A Natura viu uma redução total de 10% em processos batch—em alguns casos, de 6 horas para menos de 10 minutos. Latências de escrita foram de milisegundos para microsegundos. Para 95 porcentual, a latência foi 220 milisegundos pro Cassandra e 500 microsegundos pro ScyllaDB. O tempo médio de processamento diminuiu de 76 para 6 milisegundos.

A Natura também percebeu que a arquitetura interna do ScyllaDB possibilitou que alcançassem o mesmo número de operações por segundo usando apenas 2 discos primários no ScyllaDB contra 11 do Cassandra. Fazendo o deploy na AWS, essa configuração produziu uma redução de custos de hardware maior que 50%. Felipe Moz, Big Data Engineer da Natura, resumiu a experiência dizendo, “Com o ScyllaDB, nós vemos melhor performance, economizamos dinheiro, temos um ótimo suporte, e não tem mais JVM.”

“O suporte do ScyllaDB nos dá acesso direto aos desenvolvedores que estão muito familiarizados com o nosso caso de uso e modelos de dados,” adiciona Moz. “Mas além do suporte do ScyllaDB, que é incrível, o ScyllaDB também permite que a Natura escale da maneira que queremos, por cores ao invés de nós.”