No ambiente de produção, em um banco de dados MongoDB Atlas, uma collection contém quantidades enormes de dados armazenados, incluindo dados antigos e atuais. No entanto, dados antigos não são acessados com frequência por meio de aplicativos, e os dados se acumulam diariamente na coleta, levando à degradação do desempenho e ao consumo de custos. Isso resulta na necessidade de atualizar o tamanho da camada do cluster para manter recursos suficientes de acordo com a carga de trabalho, pois seria difícil continuar com o tamanho da camada existente.
Em geral, isso afeta negativamente o desempenho dos aplicativos e equivale a uma maior utilização de recursos e a um aumento dos custos para os negócios.
de conflitos
Para evitar pagar a mais, você pode descarregar dados antigos em uma área de armazenamento mais barata com base nos critérios de data, o que é chamado de armazenamento de arquivo no MongoDB. Posteriormente, você pode acessar esses dados arquivados com pouca frequência usando os bancos de dados federados do MongoDB. Assim, o tamanho do cluster, o desempenho e a utilização de recursos são otimizados.
Para melhor gerenciar dados no Atlas cluster, o MongoDB introduziu o recurso Online Archive do MongoDB Atlas 4.4 versão em diante.
Vantagens
Ele arquiva dados com base nos critérios de data na regra de arquivamento e o trabalho é executado a cada cinco minutos por padrão.
Connection strings federadas separadas conectam dados arquivados.
Pré-requisitos
O Online Archive é suportado pelo nível de cluster M10 e superior.
Os índices oferecem melhor desempenho durante o arquivamento.
Para criar ou excluir um Online Archive, você deve ter uma destas funções:
Administrador de acesso a dados do projeto, gerente de cluster do projeto ou proprietário do projeto.
Configuração de arquivamento online
O cluster RemoCluster tem uma coleção chamada filmes no banco de dados sample_mflix. De acordo com a regra comercial, você está armazenando dados antigos e mais recentes no cluster principal, mas, dia após dia, os dados continuam se acumulando, como esperado. Portanto, o dimensionamento correto dos recursos do cluster por meio do upgrade do tamanho da camada resulta em aumento de custos.
Para superar esse problema e manter o cluster com eficiência, você precisa descarregar os dados pouco frequentes ou antigos para um armazenamento de baixo custo pelo recurso de arquivamento on-line e acessá-los por meio de uma conexão de banco de dados federado. Você pode gerenciar o arquivamento on-line a qualquer momento, de acordo com os requisitos comerciais, por meio do gerenciamento de arquivos.
No seu caso, você carregou um conjunto de dados de amostra da configuração do cluster MongoDB Atlas — um dos bancos de dados é sample_mflix — e há uma coleção chamada filmes que ficou obsoleto, além dos próprios dados mais recentes. De acordo com o requisito comercial, os últimos 10 anos de dados foram usados com frequência pelos clientes. Portanto, planeje implementar os dados arquivados após 10 anos da coleção com base no campo de data.
Para implementar o recurso Online Archive, você precisa de um cluster M10 básico ou superior:
figura: visão geral dos detalhes de configuração do cluster no navegador do MongoDB Atlas
Defina regras de arquivamento
Depois que os requisitos de negócios forem finalizados, defina as regras sobre quais campos de dados serão arquivados com base em critérios como idade, tamanho e outras condições. Podemos configurar as regras do Atlas Online Archive por meio da interface do Atlas usuário do ou usando a Atlas API do .
A coleção de filmes no banco de dados sample_mflix tem um campo de data chamado released (lançado). Para melhorar o desempenho do arquivamento on-line, você precisa criar um índice no campo liberado usando o comando abaixo.
Depois de criar o índice, você pode escolher esse campo como um arquivo baseado em data e mover os dados com mais de 10 anos (3652 dias) para um armazenamento refrigerado. Isso significa que o cluster armazenará documentos com menos de 10 anos e todos os outros documentos serão movidos para o armazenamento de arquivamento, que é mais barato de manter.
Antes de implementar a regra de arquivamento, a contagem total de documentos da collection de filmes era 21,349, como visto na imagem abaixo.
Número: Antes de configurar o Atlas Online Archive - contagem de documentos da collection de filmes do banco de dados sample_mflix: 21,349
Etapas de implementação
Etapa 1: Go para Pesquisar coleções na visão geral do cluster e selecione a guia Atlas Online Archive.
figura: localização para configurar o arquivamento online do cluster principal – GeoCluster
Etapa 2: forneça um namespace para a coleção, região de armazenamento, campo de correspondência de data e limite de idade para arquivar. No seu caso:
Namespace: sample_mflix.movies
Região escolhida: AWS / Mumbai (fornecedores de nuvem AWS, Azure, GCP)
Campo de Data: lançamento (campo indexado obrigatório)
Limite de idade: 3652 dias (10 anos a partir da data)
Por exemplo, hoje é 28 de fevereiro de 2024, o que significa que 3652 dias antes de hoje seriam 28 fevereiro de 2014.
figura: Configurar um arquivo online – critérios da regra de arquivamento para configurar o arquivo online.
Etapa 3: Veja alguns recursos que você pode adicionar como opcionais.
Limite de idade de exclusão: permite a limpeza de dados do armazenamento de arquivamento com base nos critérios necessários. É um recurso opcional que você pode usar de acordo com a decisão da sua organização.
Neste exemplo, não estamos eliminando nenhum dado de acordo com as regras de negócios.
Janela de arquivamento de programação: Esse recurso permite que você personalize as agendas. Por exemplo, você pode executar trabalhos de arquivamento durante o horário não comercial ou em janelas de tempo de inatividade para garantir que eles tenham um baixo impacto nos aplicativos.
figura: configurar um arquivamento online – etapa da regra de arquivamento e critérios de configuração adicionais (opcional)
Etapa 4: você pode adicionar quaisquer outros campos de partição necessários.
figura: configurar o arquivo do Atlas Online – campos de query de partição
Etapa 5: Depois que a configuração da regra for concluída, o assistente solicitará uma revisão detalhada da regra de arquivamento. Você pode observar Namespace, provedor de serviços (AWS), Região de armazenamento (Mumbai), Campo de arquivo, Limite de idade etc.
figura: configurar um arquivo do Atlas Online – Revisar e confirmar
Etapa 6: Depois que as etapas forem revisadas, clique em BeginArchiving para criar instâncias de federação de dados na guiaAtlas Data Federation. Em seguida, ele começará a arquivar dados com base na regra de validação e passará para o armazenamento3 Amazon Web Services. Um dos melhores recursos é que você pode modificar, pausar e excluir regras de arquivamento online a qualquer momento. Por exemplo, seus critérios de arquivamento podem ser alterados a qualquer momento.
figura: configurar um arquivamento online – página de confirmação de início de arquivamento
Etapa 7: Depois que o Arquivo Online for definido, haverá um trabalho de arquivamento executado a cada cinco minutos por padrão. Isso valida os critérios com base no campo de data e move os dados para o armazenamento de arquivamento. Além disso, você pode configurar esse trabalho de acordo com seu intervalo personalizado em vez do agendamento padrão. É possível visualizar esse trabalho de arquivamento na seção principal do cluster, conforme mostrado na imagem abaixo, com o status real Archiving/IDLE.
figura: arquivo online – página de visão geral das informações de regra consolidadas do cluster principal.
O recurso Atlas Online Archive criará duas instâncias de banco de dados federado na guia Atlas Data Federation para o cluster acessar dados além da string de conexão regular:
Instância de banco de dados federado para consultar dados apenas em seu arquivo.
Uma instância de banco de dados federado para consultar seu cluster e dados arquivados
figura: federação de dados – janela de instâncias do banco de dados federado de arquivo online
Quando o trabalho de arquivamento é executado de acordo com o cronograma, ele move documentos para o armazenamento de arquivamento. Como resultado, a contagem de documentos da collection no cluster principal será reduzida mantendo os dados mais recentes ou dados quentes.
Portanto, de acordo com o cenário acima, a coleção de filmes agora contém dados novos/mais recentes.
Contagem de documentos da coleção de filmes: 2186 (exclui documentos com mais de 10 anos).
Todos os dias, ele valida 3652 dias depois para encontrar documentos para mover para o armazenamento de arquivamento.
Você pode observar a contagem de documentos de coleta na imagem abaixo:
figura: contagem mais recente da collection de filmes no cluster base após a configuração do Atlas Online Archive.
Como conectar e acessar
Você pode acessar dados arquivados ou somente leitura por meio do assistente deData Federation. Basta conectar-se com cadeias de conexão para ambos:
Somente arquivado ( collection de banco de dados específica para a qual definimos regra de arquivamento )
Arquivo de cluster (todos os bancos de dados nele)
** Você pode apontar essas connection strings para ambientes downstream para ler os dados ou consumi-los por meio de aplicativos de usuário final._
Federação de Dados Atlas
Federação de dados fornece o recurso de federar consultas em dados armazenados em vários formatos de armazenamento compatíveis, incluindo clusters do Atlas, Atlas Online Archives, conjuntos de dados Data Lake, buckets do AWS S3 e repositórios HTTP. Você pode obter insights ou mover dados entre qualquer um dos formatos de armazenamento suportados do serviço.
Figura: Depois que o trabalho de arquivamento for executado, veremos a movimentação de dados para instâncias federadas com detalhes.
Arquivo GeoCluster: é uma instância do banco de dados federado para seu arquivo que permite consultar dados apenas em seu arquivo . Ao se conectar com esta string, você verá apenas as collections arquivadas, como mostrado na tela abaixo. Para obter mais detalhes, acesse os Docs.
Aqui, o nome do cluster DemoCluster arquivou dados de coleta que você pode recuperar somente usando a string de conexão abaixo, conforme mostrado na imagem.
Cadeia de conexão: "mongodb://Username@archived-atlas-online-archive-65df00164668c44159eb65c8-abcd6.a.query.mongodb.net/?ssl=true&authSource=admin"
figura: federação de dados – etapas de acesso à connection string de instâncias federadas
Conforme mostrado na imagem, você pode visualizar apenas os dados de coleções arquivados na forma de modo READ-ONLY, o que significa que você não pode modificar esses documentos no futuro.
figura: collection de banco de dados arquivado – sample_mflix.moves dados somente desta connection string
Arquivo de cluster do GeoCluster:
Instância de banco de dados federado para seu cluster e arquivo que permite consultar cluster quanto os dados arquivados. Aqui, você pode acessar todos os bancos de dados no cluster, incluindo collections não arquivadas, conforme mostrado na imagem abaixo.
string de conexão:
Observação: usando essa connection string, você pode visualizar todos os bancos de dados dentro do cluster e a contagem total de documentos da collection arquivada. Ele também permite o modo read-only.
Imagem: Dados do cluster arquivados – acesso ao seu cluster e aos dados arquivados usando esta instância/connection string
Visão geral do cluster do projeto
Conforme discutido anteriormente, o cluster principal DemoCluster contém os dados mais recentes de acordo com os requisitos de negócios, ou seja, dados consumidos com frequência. Você pode acessar dados e executar operações de leitura e gravação a qualquer momento, apontando para alterações de aplicativos em tempo real.
Observação: no seu caso, os dados mais recentes se referem a qualquer coisa com menos de 10 anos.
string de conexão:
Nesse cenário, após arquivar dados antigos, você pode ver apenas 2186 documentos para a coleção de filmes com dados menos de 10 anos de idade.
figura: MongoCompass – somente os dados mais recentes disponíveis no cluster principal após a configuração do arquivo online. Os dados antigos podem ser acessados por meio de instâncias de banco de dados federadas separadas, conforme discutido na aba Bancos de dados federados.
Você pode usar o MongoShell, um aplicativo ou qualquer ferramenta de terceiros (como o MongoCompass) para acessar os dados arquivados e os dados principais do cluster.
Como alternativa, com todas essas três cadeias de conexão, você pode buscar no assistente abaixo no cluster connect.
Conectar ao cluster e ao Atlas Online Archive (connection string de instância arquivada somente leitura)
Conectar ao cluster (conexão direta do cluster para executar operações CRUD)
Conecte-se ao Online Archive (somente leitura específica para uma cadeia de conexão de banco de dados arquivado)
figura: três connection strings separadas após a conclusão da configuração do arquivo online
Solicitação do MongoShell: para conectar os dois dados arquivados na aba Data Federation, você pode visualizar a diferença entre os dois dados arquivados na forma do modo read-only.
Imagem: ShellPrompt → O lado esquerdo é apenas uma visualização do banco de dados arquivado; o lado direito é uma visualização de bancos de dados de cluster do Atlas Online Archive.
Prompt do MongoShell: aqui no cluster principal, você pode visualizar uma lista de bancos de dados nos quais pode acessar, ler e escrever dados frequentes por meio de uma connection string do cluster.
figura: ShellPrompt → lista de cluster base de bancos de dados onde as operações CRUD são executadas a partir do aplicativo
Conclusão
No geral, o recurso de arquivamento online do MongoDB Atlas habilita as organizações a otimizar os custos de armazenamento, melhorar o desempenho, aderir às políticas de retenção de dados, armazenando com segurança os dados por períodos de retenção de longo prazo e gerenciando efetivamente os dados e a eficiência do armazenamento durante todo o seu ciclo de vida.
Gostaríamos muito de ouvir sua mente sobre tudo o que aprenderam! Junte-se a nós na Comunidade de desenvolvedores para continuar a conversa e ver o que outras pessoas estão construindo com MongoDB.