Mantendo seus custos baixos com as instâncias sem servidor do MongoDB Atlas
Avalie esse Artigo
Os novos tipos deMongoDB Atlas serverless instance são muito bons, especialmente se você estiver executando cargas de trabalho intermitentes, como em cenários de produção em que a carga é periódica e pontiaguda (Eu costumava trabalhar para uma grande organização esportiva site que estava silencioso, a menos que um jogo estivesse começando) ou na infraestrutura de teste e integração em que você não estava executando seu aplicativo o tempo todo.
O preço das instâncias sem servidor é realmente bem direto: você paga pelo que usa. Ao contrário dos clusters MongoDB Atlas tradicionais, em que você provisiona um conjunto de servidores em uma camada que especifica o desempenho do cluster e paga por esse nível, a menos que sua instância seja ampliada ou reduzida, com instâncias sem servidor do Atlas, você paga pelas queries exatas que você execute, e a instância será automaticamente ampliada ou reduzida à medida que seu uso aumenta ou diminui.
Ser capaz de consultar seus dados com eficiência é importante para dimensionar seu website e manter seus custos baixos em qualquer situação. É apenas mais visível quando você é cobrado por query. Aprender essas habilidades economizará seu dinheiro e levará suas habilidades no MongoDB para o próximo nível.
Não vamos entrar em detalhes aqui sobre o que é uma RPU ou exatamente como o faturamento é calculado porque meu colega Vishard já escreveu MongoDB Serverless: Billing 101. Recomendamos verificar isso primeiro, apenas para ver como o Vishard demonstra o impacto significativo que o índice correto pode ter no custo de suas queries!
O Manual do MongoDB também contém uma documentação soberba sobre os índices do MongoDB. Você vai querer lê-lo e mantê-lo marcado para referência futura. Também vale a pena ler sobre como analisar suas queries e tentar reduzir as verificações de índice e as verificações de collection o máximo possível.
Se você indexar seus dados corretamente, reduzirá drasticamente seus custos sem servidor, reduzindo o número de documentos que precisam ser digitalizados para encontrar os dados que você está acessando e atualizando.
Depois de garantir que você saiba como indexar seus dados com eficiência, a próxima etapa é garantir que seu esquema seja projetado para ser o mais eficiente possível.
Por exemplo, se você migrou seu esquema diretamente de um banco de dados relacional, pode ter muitas coleções contendo documentos superficiais e pode estar usando junções para recombinar esses dados ao acessar os dados. Esta não é uma maneira eficiente de usar o MongoDB. Por um lado, se você estiver fazendo isso, convém internalizar nosso mantra: " dados que são acessados juntos devem ser armazenados juntos. "
Faça uso do document model avançados do MongoDB para garantir que os dados possam ser acessados em uma única operação de leitura, sempre que possível. Na maioria das situações em que as leituras são maiores do que as gravações, a duplicação de dados em vários documentos terá muito mais desempenho e, portanto, mais barata do que armazenar os dados normalizados em uma coleção separada e usar o estágio de agregação $lookup para consultá-los.
O MongoDB Blog tem uma série de publicações descrevendo osPadrões de design do MongoDB, e muitos deles o ajudarão a modelar seus dados de forma mais eficiente. Recomendamos esses posts em quase todos os blogs e conversas que faço, então vale a pena dedicar um tempo para conhece-los.
Mais uma vez, o Manual do MongoDB contém informações sobre modelagem de dados, e também temos um curso da MongoDB University , Caminho de modelagem de dados MongoDB. Se você realmente deseja armazenar seus dados de forma eficiente no MongoDB, deve consultá-los.
O MongoDB Atlas também oferece ferramentas integradas que monitoram o uso de queries e índices em produção. De vez em quando, é uma boa ideia fazer login na interface web do MongoDB Atlas, clicar em "Browse Collections" e clicar na guia "Performance Advisor" para verificar se identificamos índices que você pode criar (ou descartar).
Vale a pena ficar de olho no uso de sua instância sem servidor, caso uma nova implantação aumente drasticamente o uso de RPUs e WPUs. Você pode configurá-los na tela Alertas do projeto Atlas.
Se houver uma mensagem geral nesta publicação, é que a modelagem e a indexação eficientes de seus dados devem ser seu foco principal se você estiver procurando usar instâncias sem servidor do MongoDB Atlas para manter seus custos baixos. O melhor é que essas são habilidades que você provavelmente já possui! Ou, pelo menos, se você precisar aprender, as habilidades são transferíveis para qualquer MongoDB database em que você possa trabalhar no futuro.
Relacionado
Tutorial
Como distribuir o Vector Search, o Atlas Search e os nós de pesquisa com o Atlas Kubernetes Operator
Dec 20, 2024 | 10 min read
Tutorial
Construir um elemento de formulário de preenchimento automático com Atlas Search e JavaScript
Sep 09, 2024 | 8 min read