Consultar lista de preços do MongoDB Atlas com Atlas Data Federation
Avalie esse Artigo
Como um engenheiro ou equipe de DevOps, acompanhar as alterações de custo de um serviço de nuvem em contínua evolução como o banco de dados MongoDB Atlas pode ser uma tarefa difícil. O monitoramento manual das informações de preços pode ser trabalhoso, propenso a erros e resultar em atrasos nas decisões estratégicas. Neste artigo, demonstraremos como aproveitar o Atlas Data Federation para consultar e visualizar o livro de preços do MongoDB Atlas como uma fonte de dados em tempo real que pode ser incorporada em seus processos de DevOps e infraestrutura de aplicativos.
O Atlas Data Federation é um mecanismo de consulta distribuído que permite aos usuários combinar, transformar e mover dados entre várias fontes de dados sem integrações complexas. Os usuários podem consultar dados de diferentes fontes de forma eficiente e econômica, como Atlas, buckets de armazenamento cloud, Atlas Data Lake e endpoints HTTP com a linguagem de consulta MongoDB e a estrutura de agregação, como se estivessem todos no mesmo local e formato.
Embora o uso de endpoints HTTP como fonte de dados no Atlas Data Federation possa não ser adequado para volumes de trabalho de produção em grande escala, ele é uma ótima opção para pequenas empresas ou startups que desejam uma maneira rápida e fácil de analisar dados de preços ou usar para teste, desenvolvimento , ou análise em pequena escala. Neste guia, usaremos o JSON retornado por https://cloud.mongodb.com/billing/priring?product=atlas como fonte de dados HTTP para um banco de dados federado.
Vamos criar um novo banco de dados federado no MongoDB Atlas clicando em Data Federation na navegação à esquerda e clicando em “set up manually” no menu suspenso "criar novo banco de dados federado" no canto superior direito da interface do usuário. Um banco de dados federado é um banco de dados virtual que permite combinar e consultar dados de várias fontes.
A fonte de dados HTTP permite que você consulte dados de qualquer API da web que retorne dados nos formatos JSON, BSON, CSV, TSV, Avro, Parquet e ORC, como o catálogo de preços do MongoDB Atlas.
Crie um mapeamento entre a fonte de dados HTTP e a instância do banco de dados federado arrastando e soltando a fonte de dados HTTP no banco de dados federado. Em seguida, renomeie o cluster, o banco de dados e a coleção conforme desejado, usando o ícone de lápis.
O Atlas Data Federation permite transformar os dados brutos de origem usando a poderosa estrutura de agregação do MongoDB. Criaremos uma visualização que reformulará o registro de preços em documentos individuais, cada um representando um único item de preço.
Primeiro, crie uma visualização:
Em seguida, nomeie a visualização e cole o seguinte pipeline:
1 [ 2 { 3 "$unwind": { 4 "path": "$resource" 5 } 6 }, { 7 "$replaceRoot": { 8 "newRoot": "$resource" 9 } 10 } 11 ]
Esse pipeline desenrolará o campo "recurso", que contém uma matriz de dados de preços, e substituirá o documento raiz pelo conteúdo da matriz "recurso".
Agora, vamos salvar as alterações e copiar a cadeia de conexão para nossa instância de banco de dados federado. Essa connection string permitirá que você se conecte ao seu banco de dados federado.
O Atlas Data Federation oferece suporte a métodos de conexão que variam de ferramentas como MongoDB Shell e Compass, qualquer aplicativo que ofereça suporte à conexão MongoDB e até mesmo uma conexão SQL usando Atlas SQL.
Vamos agora nos conectar à instância do banco de dados federado usando o MongoDB Compass. Ao nos conectarmos com o Compass, poderemos usar a linguagem de query do MongoDB e a estrutura de agregação para começar a consultar e analisar os dados de preços, se desejar.
Usaremos o MongoDB Atlas Charts para visualização do livro de preços do Atlas. MongoDB Atlas Charts permitem criar gráficos e painéis interativos que podem ser incorporados em seus aplicativos ou compartilhados com sua equipe.
Uma vez em Gráficos, você pode criar novos painéis e adicionar um gráfico. Em seguida, selecione a exibição que criamos como fonte de dados:
Como alguns campos de dados relevantes estão incorporados ao campo sku, como NDS_AWS_INSTANCE_M50, podemos usar campos calculados para nos ajudar a extraí-los, como provider e instanceType:
Use a seguinte expressão de valor:
- provedor
{$arrayElemAt: [{$split: ["$sku", "_"]}, 1]}
- InstanceType
{$arrayElemAt: [{$split: ["$sku", "_"]}, 3]}
- additonalProperty
{$arrayElemAt: [{$split: ["$sku", "_"]}, 4]}
Agora, usando Charts como um mapa de calor, podemos visualizar os diferentes itens de preços em um formato de código de cores:
- Arraste e solte o campo "sku " para o eixo X do gráfico.
- Arraste e solte o "pricing.region " para o eixo Y ( escolha "Unwind array " para redução da array).
- Arraste e solte o "pricing.unitPrice " para Intensidade ( escolha "Unwind array " para redução da array).
- Arraste e solte os campos "provider ", "instanceType " e "additionalProperty " para filtrar e escolher os valores desejados.
O resultado final: um mapa de calor mostrando os dados de preços dos provedores selecionados, tipos de instância e propriedades adicionais, divididos por região. Passar o mouse sobre cada uma das caixas apresentará seu preço exato usando uma dica de ferramenta. Graças ao fato de que nosso banco de dados federado é composto a partir de uma fonte de dados HTTP, os dados visualizados são os preços reais ao vivo retornados do endpoint HTTP e não estão sujeitos a nenhum atraso de ETL.
Com equipes de DevOps do Atlas Data Federation, desenvolvedores e engenheiros de dados podem gerar insights para alimentar aplicativos em tempo real ou análises downstream. A incorporação de dados em tempo real de fontes como HTTP, MongoDB Clusters ou Cloud Object Storage reduz o esforço, a perda de tempo e a complexidade dos pipelines e das ferramentas de ETL.
Tem perguntas ou comentários? Visite os fóruns da nossa comunidade. Pronto para começar? Experimente o Atlas Data Federation hoje mesmo!