Na última versão principal, o Couchbase Server 5.0, introduzimos Plasma - novo mecanismo de armazenamento e também o suporte para Réplicas de índices no Serviço de Índice. Continuamos a desenvolver esses novos recursos em nossa próxima versão.
Os temas de agilidade, desempenho e melhor capacidade de gerenciamento continuam a ter destaque na Nova versão do Couchbase Server 5.5.
O Couchbase Server 5.5 apresenta a seguinte chave Indexação melhorias:
Índices particionados
Os índices secundários globais no Couchbase têm residido tradicionalmente em um único nó. Isso significa que, tradicionalmente, os nós de índice só podiam ser escalados verticalmente. Isso melhorava o desempenho sempre que as consultas buscavam resultados contíguos - a la paginação com cláusulas OFFSET e LIMIT. Porém, se um índice não pudesse caber em um único nó, ele teria que ser dividido manualmente em vários índices com base em um predicado, o que levava a índices parciais.
Com a capacidade de criar Índices particionados Com base em um esquema baseado em hash, os clientes podem dividir automaticamente um único índice e distribuí-lo em vários nós menores.
Por exemplo, se fizermos a partição por tipo no amostra de viagem e consulta por icao e paísentão o índice particionado é usado automaticamente.
1 2 3 |
CRIAR ÍNDICE `part_idx_ts` ON `viagens-amostra`(`icao`,`país`) PARTIÇÃO BY hash(`tipo`); SELECT * DE `viagens-amostra` ONDE tipo="companhia aérea E icao = 'MLA' E país = "Estados Unidos; |
Em geral, recomendamos que a chave de partição seja uma campo imutável ou uma expressão N1QL aplicado em um campo imutável, ou seja, um campo que não é atualizado com frequência. O usuário também pode especificar um ou mais campos como chaves de partição.
Também é possível ter réplicas de partições. As partições perdidas durante o failover do nó serão reconstruídas automaticamente durante o rebalanceamento. Casos de uso detalhados de quando usar índices particionados e quando não usar, juntamente com os detalhes internos dos índices particionados, serão apresentados em uma documentação futura.
Benefícios: Os nós de consulta agora podem emitir consultas para várias partições de índice em paralelo e obter os resultados de volta; isso beneficia especialmente as consultas de agregação. Também ajuda nos casos em que não há cláusula ORDER BY na consulta N1QL, o que significa que os resultados obtidos do serviço de índice não precisam ser classificados. Apenas as partições especificadas em um predicado são verificadas, o que resulta em consultas com melhor desempenho. Ao ter réplicas de partições, as varreduras são balanceadas entre elas.
Leia mais... Particionamento de índice no Couchbase Server 5.5
Agregação Pushdown para índices
Otimizações de pushdown de índice (para várias operações como deslocamento, ordenação, predicados compostos, etc.) já existem no Couchbase Server como ferramentas eficazes para o processamento eficiente e eficaz de consultas. Agora, as agregações (como COUNT, SUM, MIN, MAX, AVG) e GROUP BY também são transferidas para o Index Service. Saiba mais sobre o assunto aqui.
Benefícios: Consultas N1QL mais rápidas, menor transferência de dados entre os nós de índice e de consulta e menor sobrecarga de processamento nos nós de consulta.
Apresentando o "ALTER INDEX".
Esse novo comando declarativo oferece aos administradores a capacidade de mover índices de um nó para outro. Anteriormente, no Couchbase Server 5.0, isso era possível usando a API REST, mas o esquema declarativo simplifica a administração e é muito mais intuitivo. A topologia do índice é mantida, mas o comando oferece aos administradores um controle mais refinado sobre o posicionamento do índice. Como você usa o novo comando? Clique em aqui para saber mais. Observe que os índices não podem ser renomeados, nem os atributos nos quais eles foram indexados podem ser alterados usando essa diretiva.
Benefícios : Gerenciamento mais fácil de índices, bastando especificar uma operação DML para mover réplicas de índices.
- Saiba mais sobre o ALTER INDEX sintaxe e exemplos na documentação
Console de administração de índice renovado
A guia Índice no Console de administração do Couchbase ganhou um novo visual. Agora você pode não apenas pesquisar por nomes de índices, mas também ter diferentes layouts de exibição com base em nomes de nós, nomes de buckets e nomes de índices. Foram adicionadas dicas visuais para identificar facilmente dividida índices.

Guia Índice no console de administração do Couchbase
Benefícios : Melhor legibilidade do estado dos índices nos nós de índice.
Monitoramento de APIs REST
Foram introduzidos novos pontos de extremidade REST que oferecem insights sobre vários parâmetros de uso do índice. Há dois tipos de estatísticas que poderão ser acessadas usando os pontos de extremidade REST:
Estatísticas de nível de índice (acessível via host:indexer-port/api/stats//)
- porcentagem de acerto do cache - Porcentagem de acessos à memória que foram atendidos pelo cache gerenciado
- tamanho_dos_dados - Tamanho real dos dados consumidos pelo índice
- tamanho_do_disco - Tamanho total do arquivo de disco consumido pelo índice
- frag_percent - Porcentagem de fragmentação do índice. Observação: em índices pequenos, com menos de cem kB, a sobrecarga estática do arquivo de disco do índice aumentará a porcentagem de fragmentação do índice
- items_count - Contagem total atual de documentos indexados (atualizada ao reiniciar)
- num_docs_indexed - Número de documentos indexados pelo indexador desde a última inicialização
- num_docs_pending - Número de documentos pendentes de serem indexados
- num_docs_queued - Número de documentos na fila para serem indexados
- num_requests - Número de solicitações atendidas pelo indexador desde a última inicialização
- num_rows_returned - Número de linhas atendidas pelo indexador desde a última inicialização
- resident_percent - Porcentagem dos dados mantidos na memória
- scan_bytes_read - Número de bytes lidos por uma varredura desde a última inicialização
- total_scan_duration - Tempo total gasto pelo Indexador na varredura de linhas desde a última inicialização
Estatísticas em nível de nó (acessível via host:indexer-port/api/stats)
Inclui cada uma das estatísticas de nível de índice (mencionadas acima) e também inclui
- estado do indexador - Estado atual do indexador (por exemplo, Ativo/Pausado)
- memory_quota - Quantidade de memória usada pelo nó (em bytes)
- memory_used - Cota de memória atribuída ao Indexador (configurável pelo usuário, em Bytes)
As estatísticas acima não são agregadas ao cluster.
Além disso, os dois parâmetros a seguir estarão visíveis no Admin Console, além de serem acessíveis por meio dos pontos de extremidade REST (não disponíveis para o ForestDB):
- rache_hit_percent
- resident_percent
- memory_used
Benefícios : Entenda melhor o comportamento do índice usando os pontos de extremidade RESTful para consumir as estatísticas do índice no plano de controle de gerenciamento de sua escolha.
Gostaríamos muito de saber o que você pensa. Deixe seus comentários abaixo ou em nosso Fórum. Faça o download do novo Lançamento do Couchbase Server 5.5.