Abordagem zero-cópia, sem coordenação para instantâneos de opensearch


Amazon OpenSearch Service Fornece instantâneos horários automatizados como um mecanismo crítico de backup e recuperação para os dados do cliente. Esses instantâneos servem como backups pontuais que você pode usar para restaurar seus domínios OpenEarch para um estado anterior, ajudando a garantir a durabilidade dos dados e a continuidade dos negócios. Embora essa funcionalidade seja essencial, é igualmente importante que o processo de instantâneo opere perfeitamente sem afetar as operações principais do domínio. O fluxo de trabalho instantâneo deve ser eficiente o suficiente para manter o desempenho excellent das operações de pesquisa e indexação, preservar a capacidade do domínio de escalar com cargas de trabalho em crescimento e suportar a estabilidade geral do cluster.

Nesta postagem do weblog, dizemos como aumentamos a eficiência do instantâneo no serviço Amazon OpenEarch, mantendo cuidadosamente esses aspectos operacionais críticos. Essas otimizações de instantâneos são ativadas para todos os domínios da família OpenEarch Otimized Instância (OR1, OR2, OM2) da versão 2.17 em diante.

Fundo

No mecanismo tradicional de instantâneo do OpenSearch, o processo envolve o add de arquivos de segmento incremental de cada shard para Amazon Easy Storage Service (Amazon S3). O fluxo de trabalho começa quando o nó do gerenciador de cluster inicia a criação de instantâneos e coordena com os nós que mantêm os fragmentos primários para capturar seus respectivos instantâneos. Ao longo deste processo, os nós de dados se comunicam continuamente com o nó do gerenciador de cluster para relatar o progresso do instantâneo. Para fornecer resiliência contra falhas de líder, o estado do cluster mantém o rastreamento detalhado de todos os instantâneos em andamento. Este estado é compartilhado com todos os nós de dados. No entanto, essa abordagem introduz uma sobrecarga significativa de comunicação, especialmente em implantações em larga escala.

Considere um cluster com os nós M e n fragmentos primários. Cada operação de instantâneo requer pelo menos N Atualizações de estado do cluster, com as chamadas de transporte de M*n fluindo de e para o nó do gerente de cluster para os nós de dados (compreendendo uma atualização de estado de cluster para cada shard primário e M chamadas de transporte para cada atualização), conforme mostrado no diagrama a seguir. Em grandes domínios com centenas de nós e milhares de fragmentos, esse intensivo padrão de comunicação pode potencialmente sobrecarregar o nó do gerente de cluster, impactando sua capacidade de lidar com outras tarefas críticas de gerenciamento de cluster.

Abordagem zero-cópia, sem coordenação para instantâneos de opensearch

A família OpenEarch Otimized Instância introduziu um avanço significativo na durabilidade dos dados e na eficiência do instantâneo. Construído para fornecer alta taxa de transferência com 11 nove de durabilidade, as instâncias otimizadas do OpenEarch mantêm uma cópia de todos os dados indexados no Amazon S3. Esse projeto arquitetônico eliminou a necessidade de reaparecer os dados durante a criação de instantâneos. Em vez disso, o sistema faz referência ao ponto de verificação de dados existente nos metadados instantâneos. Os pontos de verificação de dados rastreiam o estado dos dados sobre fragmentos em um determinado momento para ajudar a garantir a consistência e a durabilidade. Também impedimos a limpeza de dados da Amazon S3, que são referenciados nos metadados instantâneos. Essa abordagem tornou os instantâneos substancialmente mais leves e rápidos em comparação com o método convencional.

O fluxo de instantâneo aprimorado com instâncias otimizadas do OpenEarch, também chamado de instantâneo raso V1, gerencia o Reference da Referência, criando arquivos de bloqueio explícitos para cada ponto de verificação de um determinado shard. Esse fluxo é ilustrado no diagrama a seguir, onde na quarta etapa, em vez de fazer add de dados dos segmentos, carregamos um arquivo de bloqueio do ponto de verificação.

Snapshot raso V1

Embora essa abordagem tenha abordado com sucesso o problema de redundância de dados, substituindo os uploads dos dados do segmento pela criação de arquivos de bloqueio do ponto de verificação, ela introduziu seu próprio conjunto de desafios. A sobrecarga de comunicação entre os nós permaneceu inalterada durante as operações de criação e exclusão de instantâneos. Além disso, o sistema cria arquivos de bloqueio para cada shard em cada instantâneo, independentemente de o Shard receber tráfego ativo ou não. Essa opção de design gerou um número excessivo de chamadas de armazenamento remoto para criar um arquivo de bloqueio por shard durante operações de instantâneos, o que é particularmente problemático para domínios maiores do OpenSearch.

Instantâneo raso revisado (V2)

Na sua essência, o instantâneo raso V2 reimagina como lidamos com o backup de dados no OpenSearch. Snapshot Snapshot V2 adota uma abordagem mais inteligente, implementando um sistema de referência baseado em carimbo de information e hora que reduz a duplicação de dados enquanto elimina a sobrecarga da comunicação. No instantâneo raso V2, como mostrado no diagrama a seguir, em vez de colocar um bloqueio explícito no arquivo de ponto de verificação da loja remota de um Shard, ele coloca um bloqueio implícito com base no registro de information e hora do instantâneo e no arquivo de ponto de verificação. Rastreamos esses registros de information e hora instantâneos em arquivos de registro de information e hora fixados e os carregamos para o armazenamento remoto. Com esse bloqueio implícito, os pontos de verificação que correspondem aos registros de information e hora em arquivos de timestamp presos não são limpos da Amazon S3. Com essa mudança arquitetônica, os nós de dados não precisam enviar atualizações de Shard para o gerenciador de cluster, evitando as atualizações de estado de cluster subsequentes. O processo de restauração de instantâneos funciona lendo um arquivo de registro de information e hora fixados correspondentes ao seu instantâneo, o que ajuda o nó de dados a localizar e baixar a versão correta dos dados do Amazon S3.

Principais benefícios

Vamos explorar as principais vantagens do uso de instantâneos rasos V2.

Melhorias de desempenho

Os benefícios de desempenho do instantâneo raso V2 são substanciais e multifacetados. Ao minimizar a quantidade de dados que precisam ser carregados no armazenamento remoto e o número de atualizações de estado do cluster que precisam ser comunicadas entre nós durante a criação de instantâneos, o sistema reduz significativamente as operações de E/S e rede. Essa redução se traduz em tempos de criação de instantâneos mais rápidos e menor utilização de recursos do sistema durante operações de backup.

As avaliações mostradas na tabela a seguir foram realizadas para avaliar a influência nas operações de instantâneos quando o domínio experimenta carga significativa.

Config de domínioTempo de criação de instantâneos
Número de nósNúmero de fragmentosTradicionalSnapshot raso V1Snapshot raso V2
1010015–20 minutos1–2 minutos<1 segundo
1010.00030-40 minutos5-10 minutos<5 segundos
100100.000> 1 hora> 1 hora<10 segundos

Escalabilidade

Com o número fixo de chamadas de comunicação entre nós durante a criação de instantâneos, o tempo de criação de instantâneos é de segundos de um dígito, mesmo quando o nó, o índice e a contagem de shard cresce. Quando testado em 1.000 nós em um domínio do serviço de opensearch da Amazon, foi observado um tempo de criação rasa de instantâneos V2 entre 10 a 20 segundos. Para organizações que gerenciam grandes domínios do serviço de opensearch Amazon, o Snawlow Snapshot V2 oferece vantagens específicas. O custo de armazenamento reduzido do instantâneo raso e os tempos de criação de instantâneos mais rápidos do instantâneo raso V2 possibilitam manter backups mais frequentes sem recursos de armazenamento esmagadores ou impactar o desempenho do sistema.

Simplificação arquitetônica

As melhorias arquitetônicas no instantâneo raso V2 vão além da otimização de desempenho. A nova implementação apresenta uma base de código mais simplificada e sustentável, reduzindo o esforço necessário para depurar problemas e implementar aprimoramentos futuros. A arquitetura simplificada reduz a complexidade do processo instantâneo e restauração, levando a operações mais confiáveis ​​e menos pontos potenciais de falha para casos de uso que requerem backups frequentes, como cenários orientados a conformidade ou ambientes de desenvolvimento. Isso significa que você pode estabelecer um menor Objetivo do ponto de recuperação para recuperação de desastres. O manuseio eficiente de alterações incrementais da Snapshot Snapshot V2 possibilita a manutenção de cronogramas de backup mais granulares sem penalidades de desempenho.

Eficiência de armazenamento

A pedra angular do instantâneo raso V2 é sua abordagem inovadora para o gerenciamento de armazenamento. Em vez de criar várias cópias de dados inalterados, o sistema mantém referências inteligentes aos blocos de dados existentes. Esse mecanismo implícito de contagem de referência baseado em carimbo de information e hora evita a criação de bloqueios explícitos por fragmento. Em ambientes em que os recursos de armazenamento são de prêmio, a eficiência de armazenamento do instantâneo raso V2 pode levar a uma economia de custos significativa. A abordagem baseada em referência ajuda a garantir o uso excellent do espaço de armazenamento disponível, mantendo uma cobertura abrangente de backup.

Olhando para o futuro

A introdução do instantâneo raso V2 marca o início de nossa jornada em direção a soluções de backup de dados mais eficientes. Com base na estrutura criada pelo Snawlow Snapshot V2, podemos implementar recursos adicionais, como recuperação de pontos Level in Time (PITR), melhor integração do estado de cluster e várias otimizações de desempenho.

Conclusão

O instantâneo raso V2 representa um avanço significativo nos recursos de backup da OpenSearch. Ao combinar eficiência de armazenamento, desempenho aprimorado e simplificação arquitetônica, ele fornece uma solução robusta para os desafios modernos de backup de dados. Se você estiver usando um tipo de instância da família de instância otimizada, o instantâneo raso V2 já está ativado para você. Esteja você usando um domínio em larga escala ou trabalhando dentro de restrições de armazenamento, o instantâneo raso V2 oferece benefícios tangíveis para seus domínios de serviço do Amazon OpenSearch.


Sobre os autores

Sachin Kale é um engenheiro sênior de desenvolvimento de software program da AWS que trabalha no OpenEarch.

Bukhtawar Khan é um engenheiro principal que trabalha no Amazon OpenEarch Service. Ele está interessado em construir sistemas distribuídos e autônomos. Ele é um mantenedor e um colaborador ativo da OpenSearch.

Gaurav Bafna é um engenheiro sênior de software program que trabalha no OpenEarch na Amazon Net Companies. Ele fica fascinado por resolver problemas em sistemas distribuídos. Ele é um mantenedor e um colaborador ativo da OpenSearch.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *