O gerenciamento de grandes volumes de dados de alta velocidade traz um conjunto exclusivo de desafios. Desde a capacidade do banco de dados de ingerir os dados até o custo total de propriedade (TCO) da solução, considerando a expansão dos volumes de dados. O novo Mecanismo de armazenamento de magma oferece um argumento convincente para armazenar esses dados a custos ideais e, ao mesmo tempo, oferecer alto desempenho para cargas de trabalho analíticas. Neste blog, descrevo uma implementação real do Magma e os benefícios que ele está proporcionando em um cliente.
A Infosys tem dado suporte a um grande cliente do setor de turismo em colaboração com o Couchbase. O cliente usa o Couchbase como a tecnologia principal para dar suporte a casos de uso líderes do setor que proporcionam o próximo nível de experiência aos seus hóspedes. Isso inclui dispositivos baseados em IoT que transmitem informações de vários sites administrados pelo cliente. Esses dados são variados, com mais de 20 tipos diferentes de pontos de dados, e são de alta velocidade, com dados sendo gerados a uma taxa de milhares por segundo. Esses dados são transmitidos para clusters locais do Couchbase e processados antes de serem enviados para um cluster de análise baseado em nuvem.
A solução resistiu ao teste do tempo e tem fornecido insights valiosos para a empresa sobre as preferências e o comportamento dos hóspedes, além de atender a importantes necessidades regulatórias. Devido ao sucesso do programa, o número de locais e hóspedes teve um aumento de 4x no passado recente, o que resultou em um grande aumento no volume de dados. Os clusters do Couchbase absorveram essa enxurrada de dados com facilidade, e o cluster do Analytics atendeu com eficiência às necessidades crescentes da empresa de obter insights sobre os dados.
À medida que os volumes de dados cresceram, tivemos que aumentar o tamanho do cluster para acompanhar o ritmo, o que aumentou o custo de execução do cluster. Considerando o futuro do número de implementações, nosso cliente estava procurando otimizar o TCO da execução do cluster de análise.
O lançamento do mecanismo de armazenamento Couchbase Magma veio no momento perfeito para nós, e fomos um dos primeiros a adotar a nova tecnologia. Criamos um cluster de arquivamento para coletar dados do cluster principal baseado no Couchstore (o Couchstore é o mecanismo original de armazenamento profundo) e implementamos um programa de 6 semanas de TTL no cluster principal. O cluster principal tinha 14 nós de dados, mas conseguimos reduzir o tamanho do cluster de arquivamento que executava o Magma para apenas 4 nós de dados. Isso representa uma redução de 3,5 vezes na capacidade necessária de hardware e armazenamento. Isso resultou em uma economia anual de cerca de $800K! Poderíamos ter aumentado ainda mais, mas deixamos espaço suficiente para acomodar o crescimento futuro nos próximos 12 a 14 meses.
Foram dois os principais recursos do Magma que nos permitiram fazer essa redução drástica:
-
- O tamanho dos discos foi aumentado para 10 TB por nó (máximo recomendado no Magma) em comparação com o limite de 1,5 TB por nó
- Reduzir a taxa de residência para 5% para os buckets (o mínimo recomendado é 1%) em comparação com 40% para o Couchstore
Outro benefício interessante que pudemos observar é a economia no uso do disco devido à compactação de blocos. Observamos uma compactação quase 50% melhor no mecanismo Magma em comparação com o Couchstore, com o uso de disco por documento passando de 2,28 KB/doc para 1,47 KB/doc em disco para dados que são razoavelmente uniformes.

Principais benefícios da Magma
Como próximos passos, pretendemos usar a versão 7.1.2 do Couchbase, que tem suporte para Analytics e Eventing no Magma, e melhorar a segregação de dados no cluster do Magma. Poderemos dividir os dados por mês e ano para permitir a localização eficiente de dados específicos necessários para a pesquisa histórica.
Se você estiver interessado no funcionamento interno do Magma, recomendo que leia o artigo apresentado no VLDB 2022 aqui.