Quando suas operações superam os recursos de um único banco de dados, quais são suas opções?
Para a Adjust, provedora de serviços de medição móvel com sede em Berlim, a resposta veio com o Aerospike, um armazenamento de valores-chave NoSQL de alto desempenho e em tempo real que pode ser executado em vários data centers.
No Real-Time Data Summit da Aerospike na semana passada, o engenheiro de software sênior da Adjust, Bubunyo Nyavo, explicou como a empresa usou o Aerospike para ajudar os clientes a rastrear o retorno do investimento em seus canais de marketing.
O serviço da Adjust pode gerar, em média, 52 milhões de solicitações por minuto. Essas solicitações podem desencadear a necessidade de algum tipo de operação, como uma consulta, e, é claro, de reconciliação de estado. Um cliente pode postar material no Meta, LinkedIn ou algum outro meio de comunicação social, e o Adjust reúne o número de pessoas que visualizaram o conteúdo e quantas clicaram nele
“Dependendo da operação, buscamos alguns dados, escrevemos alguns dados. Às vezes escrevemos em lotes, às vezes excluímos dados e depois retornamos uma resposta para essas solicitações”, disse Nyavor.
No geral, a empresa mantém cerca de 45 bilhões de registros no Aerospike, e estes registram apenas os estados dos dispositivos. Com uma média de 512 bytes por registro, isso resulta em 351 TB de dados.
Os dados são armazenados em três clusters separados, localizados em data centers geograficamente dispersos. Cada cluster tem 64 nós e roda em bare metal, com o Gentoo Linux servindo como sistema operacional. Cada servidor possui cerca de 400 GB de RAM e 16 TB de espaço em disco NVMe de estado sólido e uma placa de rede de 10 Gigabit. Duas ou três cópias dos dados são mantidas como backup.
“Para que, se um único rack ficar off-line, isso não nos deixe em parafuso”, disse Nyavor.
Um gráfico que mostra o número médio de dispositivos conectados ao Aerospike.
Além dos valores de armazenamento de chaves
A loja de valores-chave Aerospike foi lançada em 2009 (originalmente como CitrusLeaf) e rapidamente encontrou um público na indústria de publicidade online para armazenar e posteriormente analisar cookies de clientes em alta velocidade.
As versões subsequentes expandiram a análise, incorporaram o processamento em lote e introduziram índices secundários e replicação entre data centers.
No Real-Time Data Summit, Art Anderson, engenheiro sênior de experiência em desenvolvimento da Aerospike, discutiu como a Aerospike também poderia criar formatos de dados gráficos e vetoriais, o que pode ajudar as lojas on-line a criar facilmente sistemas de recomendação.
Para a Adjust, a baixa latência foi crítica. Os clientes queriam que os dados fossem atualizados o mais próximo possível do tempo real. Este é um desafio dadas as comunicações entre clusters.
Tal como acontece com qualquer sistema distribuído com dados duplicados, a Adjust deve fazer escolhas entre consistência e disponibilidade dos dados (dois dos três pilares do Teorema CAP).
De modo consistente, dados precisos sempre serão entregues, embora isso possa levar algum tempo. Em um modo orientado à disponibilidade, os dados serão retornados ao solicitante o mais rápido possível, embora possam não incluir as alterações mais recentes (conforme necessário para propagar novos dados em diferentes clusters).
Modos operacionais do Aerospike: Consistência e Disponibilidade.
“Você obterá respostas rápidas, mas não há garantia sobre a atualização dos dados”, explicou Nyavor, especialmente porque a Adjust grava muito mais dados no disco do que os lê.
Existem várias ferramentas que ajudam. Aerospike oferece um driver cliente inteligente que sabe para quais nós de um cluster enviar as solicitações. O sistema de banco de dados também permite que a Adjust armazene índices secundários nos velozes discos rígidos de estado sólido, uma vantagem dado que seria proibitivo em termos de custo armazená-los na memória principal do próprio servidor.
“O Aerospike se sai suficientemente bem para nos ajudar a aproveitar as vantagens de hardware mais barato”, disse Nyavor.
No geral, o sistema pode realizar, em média, cerca de 1,2 milhão de operações de gravação por segundo e 2 milhões de operações de gravação por segundo. pegar operações por segundo.
Operações Aerospike por segundo na Adjust.
Cerca de 50% de todas as solicitações levam menos de 500 milissegundos ou menos, um feito impressionante dada a vastidão do próprio banco de dados, disse Nyavor.
Operações Aerospike em menos de 500 milissegundos.
A digitalização é uma das operações maiores. É necessária a exclusão de cadastros de usuários, quando solicitado ou quando um cliente sai do programa. A verificação de um cluster inteiro leva cerca de três dias.
“É um processo lento e intensivo porque requer muitos recursos para digitalizar”, disse ele. A boa notícia é que o Aerospike pode executar as operações de varredura como uma tarefa em segundo plano, suspendendo-as temporariamente quando for necessário executar leituras e gravações.
Como o Aerospike é atualizado
Ainda há trabalho no Aerospike que precisa ser feito, segundo Nyavor.
Por exemplo, o processo de atualização ainda é bastante manual.
O processo envolve passar pelo log de alterações para garantir que nada foi quebrado no processo de atualização.
Mas, no geral, o banco de dados é muito configurável e você precisa entender todas as opções para aproveitá-lo ao máximo, disse Nyavor.
E se você não sabe de alguma coisa, pergunte. A equipe de suporte do Aerospike tem sido muito útil para responder perguntas, acrescentou.
“Não tome como certo nada na documentação que você não entende, porque isso pode fazer uma bola de neve e morder sua bunda”, disse ele.
YOUTUBE.COM/THENEWSTACK
A tecnologia avança rápido, não perca um episódio. Inscreva-se em nosso canal no YouTube para transmitir todos os nossos podcasts, entrevistas, demonstrações e muito mais.
SE INSCREVER
Joab Jackson é editor sênior do The New Stack, cobrindo computação nativa em nuvem e operações de sistema. Ele faz reportagens sobre infraestrutura e desenvolvimento de TI há mais de 25 anos, incluindo passagens pela IDG e pela Government Computer News. Antes disso, ele…
Este site utiliza cookies para melhorar sua experiência de navegação. Ao continuar, você concorda com o uso de cookies. Para mais informações, consulte nossa Política de Privacidade.
Funcional
Sempre ativo
O armazenamento ou acesso técnico é estritamente necessário para a finalidade legítima de permitir a utilização de um serviço específico explicitamente solicitado pelo assinante ou utilizador, ou com a finalidade exclusiva de efetuar a transmissão de uma comunicação através de uma rede de comunicações eletrónicas.
Preferências
O armazenamento ou acesso técnico é necessário para o propósito legítimo de armazenar preferências que não são solicitadas pelo assinante ou usuário.
Estatísticas
O armazenamento ou acesso técnico que é usado exclusivamente para fins estatísticos.O armazenamento técnico ou acesso que é usado exclusivamente para fins estatísticos anônimos. Sem uma intimação, conformidade voluntária por parte de seu provedor de serviços de Internet ou registros adicionais de terceiros, as informações armazenadas ou recuperadas apenas para esse fim geralmente não podem ser usadas para identificá-lo.
Marketing
O armazenamento ou acesso técnico é necessário para criar perfis de usuário para enviar publicidade ou para rastrear o usuário em um site ou em vários sites para fins de marketing semelhantes.