Atlas Online Archive: gerencie com eficiência o ciclo de vida dos dados
Avalie esse Artigo
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.
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.
- 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.
- Execute a query dos dados por meio de uma conexão de banco de dados federado, que está disponível na guia Data Federation .
- O acesso a dados não frequente por meio de conexões federadas além do cluster principal melhora o desempenho e reduz o tráfego no cluster principal.
- Os dados arquivados podem ser consultados por ambientes downstream e consumidos no modo somente leitura.
- Os dados arquivados estão disponíveis para fins de leitura, mas não são compatíveis com gravação ou modificação.
- As coleções limitadas não oferecem suporte ao arquivamento online.
- Os Atlas clusters sem servidor não suportam arquivamento online.
- Connection strings federadas separadas conectam dados arquivados.
- O Online Archive é suportado pelo nível de cluster M10 e superior.
- Os índices oferecem melhor desempenho durante o arquivamento.
Administrador de acesso a dados do projeto, gerente de cluster do projeto ou proprietário do projeto.
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:
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.
1 use sample_mflix 2 db.movies.createIndex({"released":1})
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.
Etapa 1: Go para Pesquisar coleções na visão geral do cluster e selecione a guia Atlas Online Archive.
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.
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.
Etapa 4: você pode adicionar quaisquer outros campos de partição necessários.
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.
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.
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.
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
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:
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 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.
- 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"
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.
- 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:
1 mongodb://Username:Password@atlas-online-archive-65df00164668c44159eb65c8-abcd6.a.query.mongodb.net/?ssl=true&authSource=admin
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.
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:
1 mongodb+srv://Username:Password@democluster.abcd6.mongodb.net/
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.
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)
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.
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.
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.
Principais comentários nos fóruns
Ainda não há comentários sobre este artigo.