Servidor Couchbase

Indexação e consulta mais rápidas: Introdução de gravações circulares com índices secundários globais padrão para EO eficiente - PARTE III

Em Parte I a série, abordamos a arquitetura por trás dos índices globais e locais e quando usar um índice global (GSI) em vez de um índice local (MapReduce View) no Couchbase Server. Em Parte II Na Parte II da série, também falamos sobre os novos índices secundários globais otimizados para memória e como a MOI melhora o desempenho da manutenção do índice com uma estrutura na memória projetada exclusivamente para altas taxas de mutação e altas taxas de varredura. Na Parte III, gostaria de falar sobre como os índices secundários globais padrão foram aprimorados na versão 4.5: Há vários aprimoramentos nessa área, mas o mais importante é um novo modo de gravação chamado "Circular Writes".

Índices secundários globais otimizados para memória versus índices secundários globais padrão

Os índices otimizados para memória foram adicionados na versão 4.5 como uma opção de armazenamento adicional para GSIs. Os índices secundários globais padrão estão presentes desde a versão 4.0. Os administradores podem configurar o GSI com o armazenamento padrão do GSI, que usa o ForestDB por baixo, para índices que não cabem na memória, ou podem escolher o GSI otimizado para memória para indexação e consultas mais rápidas na memória. Embora os índices otimizados para memória, com gerenciamento de índices na memória, possam oferecer o melhor desempenho de manutenção e varredura de índices, nem todos podem se dar ao luxo de ter todos os índices na memória. O GSI padrão pode ser transferido para o disco quando a memória se esgota, portanto, a E/S eficiente do disco é essencial para a indexação e as varreduras eficientes. 

Modos de gravação em índices secundários globais padrão

Anteriormente, o GSI padrão oferecia apenas um modo de gravação somente com acréscimo. As gravações Append Only gravam no final do arquivo a cada mutação no índice. Entretanto, as gravações somente de acréscimo exigem compactações frequentes. Com a versão 4.5, o GSI padrão vem com um modo de gravação adicional chamado "gravações circulares".

Quando você ativa as "gravações circulares", conforme as mutações chegam, em vez de simplesmente anexar novas páginas ao final do arquivo, as operações de gravação procuram reutilizar o espaço órfão no arquivo. Se não houver espaço órfão suficiente disponível no arquivo que possa acomodar a gravação, a operação ainda poderá fazer uma gravação com acréscimo.

Com gravações circulares, a compactação total ainda funciona da mesma forma. O processo de compactação lê o arquivo existente e grava um novo arquivo contíguo que não contém mais os itens órfãos e é gravado como um arquivo contíguo. No entanto, o número de compactações necessárias é drasticamente reduzido. Em vez de compactar a cada poucas horas, pode ser uma vez por semana, o que representa uma economia incrível na capacidade de IO (IOPS e MB/s).

Configuração do modo de gravação e do acionador de compactação para o GSI padrão

O GSI padrão vem com dois modos de gravação. A configuração do modo de gravação e da fragmentação do índice está em settings > auto-fragmentation no wconsole eb. (Observação: FA configuração de segmentação do índice só se aplica quando a opção de armazenamento "Índice secundário global padrão" é selecionada para os índices. O modo de gravação e a estratégia de compactação não se aplicam a índices secundários globais otimizados para memória.) 

  • Use gravações circulares com intervalo de tempo para acionar a compactação: Para novos clusters criados com a versão 4.5, essa opção é selecionada por padrão. Com gravações circulares, não são necessárias compactações frequentes. Você deve especificar os dias da semana e a hora de início em que a compactação pode ser executada e, opcionalmente, definir uma hora de término do período de tempo em que a compactação é abortada. A hora de término só entra em vigor se a opção abortar compactação estiver marcada. 
  • Gravações somente de acréscimo com nível de fragmentação de índice para acionar a compactação: Quando você faz upgrade de um cluster (com o serviço de indexação ativado) da versão 4.0 ou 4.1, essa opção é selecionada por padrão. A opção é mantida principalmente para compatibilidade com versões anteriores. 

Você pode alternar entre os modos de gravação a qualquer momento. 

Os alertas e as estatísticas funcionam da mesma forma entre os índices padrão e otimizados para memória. Parte II da série para obter mais informações sobre estatísticas e alertas.

-cihan

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Cihan Biyikoglu, diretor de gerenciamento de produtos, Couchbase

Cihan Biyikoglu é diretor de gerenciamento de produtos da Couchbase, responsável pelo produto Couchbase Server. Cihan é um entusiasta de big data que traz mais de vinte anos de experiência para a equipe de produtos da Redis Labs. Cihan começou sua carreira como desenvolvedor C/C++.

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.