30 pontos por hiddenest 2023-10-10 | 4 comentários | Compartilhar no WhatsApp

Relato de engenharia sobre um trabalho para reduzir custos causados pelo armazenamento, no Redis, de grandes volumes de dados em formato JSON sem compressão e pela falta de compartilhamento de modelos entre serviços Redis

  • Ao mudar a forma de armazenar os mesmos dados de origem, foi possível economizar 52% do uso de memória no ElastiCache e 66% dos custos
  • Em vez de JSON, foi usado Protobuf para explicitar a especificação dos dados e, ao mesmo tempo, padronizar a forma de leitura/escrita de dados entre os serviços
  • Na comparação com o brotli, o brotli apresentou a maior taxa de compressão. Foram comparados o tempo gasto e a taxa de compressão conforme o tamanho da window e o nível de compressão, encontrando e aplicando o valor ideal
  • Ao usar UUID como chave do Redis, foi possível economizar um pouco de memória usando ascii85
  • Reconhecendo que a dívida técnica relacionada ao domínio pode ser um obstáculo para o trabalho de redução de custos de infraestrutura, isso foi saneado com um schema explícito

4 comentários

 
nina514 2023-10-18

Com as especificações dos servidores ficando cada vez melhores, eu estava mais focado em criar o produto rapidamente do que em me preocupar com otimização, então faz tempo que não via um conteúdo tão bom que me fizesse pensar em otimização de novo!!

 
cosine20 2023-10-11

Isso mesmo, na prática o JSON é mais usado pela vantagem de ser fácil de ler e de estruturar de forma flexível, mas em termos de tamanho é mais conveniente usar um protocolo binário como protobuf, e, indo ao extremo, algo como estruturas PE tradicionais ou protocolos como o TCP, que são protocolos binários extremamente otimizados, acaba sendo melhor. Acho que a expressão "dívida técnica relacionada ao domínio" descreve isso perfeitamente.

 
kyc1682 2023-10-10

Muito legal.

 
gilbok 2023-10-10

Chefe! Aumente muito o salário dessa pessoa!!