Introdução
O Couchbase Server 4.5 acaba de ser lançado. Uma visão geral completa pode ser encontrada em aqui.
Vamos explorar os novos índices otimizados para memória.
Para entender esses índices aprimorados, vamos primeiro analisar o Índice Secundário Global (GSI) que foi introduzido como parte do Couchbase 4.0. Os GSIs foram criados para suportar a linguagem de consulta do Couchbase N1QL (pronuncia-se "nickel"). Essas consultas são ótimas para dar suporte a aplicativos interativos que exigem tempos de resposta rápidos. Antes da introdução dos GSIs, a única consulta que o Couchbase oferecia era na forma de mapa/redução. As visualizações se concentravam principalmente em relatórios com um resultado pré-calculado, mas eram limitadas em termos de desempenho e escala. Com as GSIs, o Couchbase pode não apenas dimensionar linearmente os serviços de dados, mas também as consultas.
Por exemplo, poderíamos criar um índice chamado airlines no amostra de viagem
balde enviado com o produto:
1 2 |
CRIAR ÍNDICE companhias aéreas ON `viagens-amostra`(tipo) ONDE tipo="companhia aérea" USO GSI; |
O que nos permitiria consultar todas as companhias aéreas rapidamente.
1 2 |
SELECIONAR indicativo, país DE `viagens-amostra` ONDE tipo = "companhia aérea"; |
O que há de novo
Os índices secundários globais otimizados para memória são uma configuração de armazenamento adicional para clusters do Couchbase Server. Os índices secundários globais otimizados para memória (MOI) podem acompanhar as mutações de dados e a manutenção de índices em velocidades na memória. Além das características de desempenho, a mecânica de criação, posicionamento, balanceamento de carga, particionamento e disponibilidade é idêntica tanto no GSI quanto no MOI.
Embora o aproveitamento da MOI proporcione ganhos de desempenho, é imperativo monitorar o uso da memória. Os MOIs estão restritos a residir no cache gerenciado do nó do Couchbase. Esses tipos de índices interromperão o processamento de mutações de dados se o nó esgotar a memória disponível. Isso pode ser ajustado dinamicamente sem tempo de inatividade com base nas necessidades, ajustando a cota de RAM do índice. Essa também é uma área em que o MDS (Multi-Dimensional Scale, Escala multidimensional) oferece a flexibilidade de executar nós com maior espaço de memória do que outros nós no cluster. Mais uma vez, essas alterações podem ser feitas enquanto seus aplicativos permanecem on-line e o tráfego é servido.
Nas implantações de produção, há duas métricas importantes que fornecerão a capacidade de monitorar proativamente os problemas. Elas são expostas no console de administração do Couchbase, bem como em nossa API REST:
- MAX Index RAM Used %: Informa a cota máxima de RAM usada em porcentagem (%)
- RAM de índice restante: Informa a cota de RAM de índice livre para o cluster
Caso de uso
O Couchbase oferece a capacidade de indexar elementos de matriz em um documento JSON. Muitas vezes, os documentos que contêm atributos de matriz criam uma carga maior durante a mutação de dados. Os clientes que precisam de acesso interativo e em tempo real aos dados muitas vezes são obrigados a manter estruturas de dados complexas para atender aos SLAs dos aplicativos. O índice secundário global otimizado para memória (MOI) foi projetado para atender aos desafios dos aplicativos mais exigentes.
- Reserva de viagens
- Quadros de líderes
- Detecção de fraudes
- Recomendações interativas
O MOI oferece latência e rendimento aprimorados em mutações de dados exigentes quando comparado aos índices GSI padrão. Para isso, o MOI oferece:
- O processamento sem bloqueio para indexação permite uma concorrência maciça ao manter as mutações de entrada.
- Armazenamento em memória da estrutura Skiplist, em oposição à B+Tree.
- Forçar o índice a ser armazenado na memória significa que o MOI não é executado em velocidades de disco para armazenar o índice.
- Instantâneos regulares mantidos no disco para recuperação.
Resumo
O novo índice otimizado para memória é um dos novos recursos do Couchbase 4.5. A principal vantagem é que ele melhora o desempenho da consulta e reduz o tempo necessário para a manutenção dos índices.
Baixar o Couchbase
Visitar www.couchbase.com/download/ para obter o Couchbase 4.5 e usar índices otimizados para memória.