Explore o novo chatbot do Developer Center! O MongoDB AI chatbot pode ser acessado na parte superior da sua navegação para responder a todas as suas perguntas sobre o MongoDB .

Junte-se a nós no Amazon Web Services re:Invent 2024! Saiba como usar o MongoDB para casos de uso de AI .
Desenvolvedor do MongoDB
Central de desenvolvedor do MongoDBchevron-right
Produtoschevron-right
Atlaschevron-right

Como usar regras de arquivamento personalizadas e o particionamento no MongoDB Atlas Online Archive

Joe Karlsson5 min read • Published Jun 08, 2021 • Updated May 31, 2023
AtlasArquivo On-line
Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
A partir de 2022 de junho , a funcionalidade anteriormente conhecida como Atlas Data Lake agora é chamada de Atlas Data Federation. A funcionalidade do Atlas Data Federation permanece inalterada e você pode saber mais sobre ele aqui. O Atlas Data Lake permanecerá na Atlas Platform, com funcionalidades recém-introduzidos que você pode aprender aqui.
Ok, então você configurou um simples MongoDB Atlas Online Archive, e agora você deve estar se perguntando: "O que vem a seguir?" Neste post, abordaremos alguns casos de uso mais avançados do Online Archive, incluindo a configuração de regras de arquivamento personalizadas e como melhorar o desempenho da consulta por meio do particionamento.

Pré-requisitos

Criando uma regra de arquivamento personalizada

Criar uma regra do Online Archive com base na data faz sentido para muitas situações de arquivamento, como o arquivamento automático de documentos com mais de X anos ou que foram atualizados pela última vez há Y meses. Mas e se você quiser ter mais controle sobre o que é arquivado? Alguns exemplos de dados que podem ser elegíveis para serem arquivados são:
  • Dados que foram sinalizados para arquivamento por um administrador.
  • Produtos descontinuados em seu site de comércio eletrônico.
  • Dados de usuários que encerraram suas contas em sua plataforma (a menos que sejam cidadãos europeus).
  • Dados de funcionários que não trabalham mais na sua empresa.
Existem muitos motivos pelos quais você pode querer definir regras personalizadas para arquivar seus dados frios. Vamos analisar como você pode conseguir isso usando regras de arquivamento personalizadas com o MongoDB Atlas Online Archive. Para esta demonstração, configuraremos um arquivo automático de todos os usuários na collectionsample_analytics.customers que têm o campo "ativo" definido como false.
Para configurar nosso Online Archive, primeiro navegue até a página Cluster do seu projeto, clique no nome do cluster para o qual deseja configurar o Online Archive e clique na guiaOnline Archive.
Em seguida, clique no botão Configurar Atlas Online Archive pela primeira vez e no botão Adicionar Arquivo posteriormente para começar a configurar o Atlas Online Archive para sua collection. Em seguida, você precisará criar uma regra de arquivamento especificando o namespace da collection, que será sample_analytics.customers.
Você também precisará especificar seus critérios personalizados para arquivar documentos. Você pode especificar os documentos que gostaria de filtrar para arquivamento com uma consulta do MongoDB, em JSON, da mesma forma que escreveria filtros no MongoDB Atlas.
Observação: você pode usar qualquer query válida do MongoDB Query Language (MQL), no entanto, não pode usar o argumento de documento vazio ({}) para retornar todos os documentos.
Para recuperar os documentos preparados para arquivamento, usaremos o seguinte comando de localização. Isso recuperará todos os documentos que tenham o campo `ativo` definido como `falso` ou que não tenham uma chave `ativo`.
1{ $or: [
2 { active: false },
3 { active: null }
4] }
Continue configurando seu arquivo e pronto!
Observação: é sempre uma boa ideia executar primeiro suas queries personalizadas no mongo shell para garantir que você esteja arquivando os documentos corretos.
Observação: depois que você iniciar um arquivo e um documento do MongoDB estiver na fila para arquivamento, não será mais possível editar o documento.

Melhorando o desempenho da query por meio do particionamento

Uma das razões pelas quais arquivamos dados é acessá-los e consultá-los no futuro, se por algum motivo ainda precisarmos usá-los. Na verdade, você pode estar acessando esses dados com frequência! É por isso que é útil poder particionar seus dados arquivados e acelerar os tempos de consulta. Com o Atlas Online Archive, você pode especificar os dois campos consultados com mais frequência na sua coleção para criar partições no seu arquivo on-line.
Campos com uma cardinalidade moderada a alta (ou o número de elementos em um conjunto ou agrupamento) são boas opções para serem usados como partição. As consultas que não contêm esses campos exigirão uma verificação completa da coleção de todos os documentos arquivados, o que levará mais tempo e aumentará seus custos. No entanto, é um pouco mais de um equilíbrio.
Por exemplo, os campos com baixa cardinalidade não particionarão bem os dados e, portanto, não melhorarão muito o desempenho. No entanto, isso pode ser bom para consultas de intervalo ou varreduras de coleções, mas resultará em um desempenho rápido de arquivamento.
Campos com cardinalidade média a alta particionarão melhor os dados, levando a um melhor desempenho geral da consulta, mas talvez um desempenho de arquivamento um pouco mais lento.
Campos com cardinalidade extremamente alta, como _id, levarão a um desempenho ruim de query para tudo, exceto "point queries" que query em _id, e levarão a um pior desempenho de arquivamento devido à gravação de muitas partições.
Observação: o Online Archive é distribuído por MongoDB Atlas Data Lake. Para saber mais sobre como as partições aprimoram as queries no Data Lake, consulte Estrutura de dados no armazenamento de objetos na nuvem - Amazon S3 ou Armazenamento de blobs no Microsoft Azure.
Os campos especificados são usados para dividir seus dados arquivados para otimizar o desempenho da consulta. As partições são semelhantes às pastas. Você pode mover qualquer campo para a primeira posição da partição se você consultar frequentemente por esse campo.
Você pode especificar os dois campos consultados com mais frequência em sua collection e ordená-los do campo mais consultado na primeira posição para o campo menos consultado na segunda posição. Por exemplo, suponha que você esteja configurando o Atlas Online Archive para sua collectioncustomersno banco de dadossample_analytics. Se seu campo arquivado estiver definido com a regra de arquivamento personalizada em nosso exemplo acima, seu primeiro campo consultado for usernamee seu segundo campo consultado for email, sua partição terá a seguinte aparência:
1/username/email
O Atlas cria partições primeiro para o campousername, seguido pelo email. O Atlas utiliza as partições para consultas nos seguintes campos:
  • o campo username.
  • o campo username e o campo {email
Observação: o valor de um campo de partição pode ter no máximo 700 caracteres. Documentos com valores que excedam 700 caracteres não são arquivados.
figura mostrando como o Atlas Online Archive particiona os dados e como os utiliza para consultar documentos rapidamente.
Para obter mais informações sobre como fazer a partição de dados em seu Online Archive,consulte a documentação.

Resumo

Nesta publicação, abordamos alguns casos de uso avançados do Online Archive para ajudá-lo a aproveitar esse recurso do MongoDB Atlas. Inicializamos um projeto de demonstração para mostrar como definir regras de arquivamento personalizadas com o Atlas Online Archive, bem como melhorar o desempenho da consulta por meio do particionamento de seus dados arquivados.
Se tiver dúvidas, acesse o site da nossa comunidade de desenvolvedores, no qual os engenheiros e a comunidade do MongoDB ajudarão você a desenvolver sua próxima grande ideia com o MongoDB.

Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
Relacionado
Tutorial

Como criar um sistema RAG com LlamaIndex, OpenAI e MongoDB Vector Database


Feb 16, 2024 | 10 min read
Tutorial

Parte #3: pesquise seus dados semanticamente com o Atlas Vector Search do MongoDB


Sep 18, 2024 | 6 min read
Início rápido

Introdução ao desenvolvimento do Atlas Stream Processing


Aug 28, 2024 | 7 min read
Tutorial

Introdução ao Atlas Stream Processing: como criar seu primeiro processador de fluxo


Aug 13, 2024 | 4 min read
Sumário