Esta página define os principais termos do Alibaba Cloud Elasticsearch.
cluster
Um cluster do Elasticsearch consiste em um ou mais nós. Todos os nós de um cluster trabalham juntos para armazenar dados. Cada cluster deve ter um nome exclusivo. Se dois clusters compartilharem o mesmo nome no mesmo ambiente, poderá ocorrer uma exceção desconhecida.
nó
Um nó é executado em um servidor dentro de um cluster. Os nós armazenam dados e oferecem suporte a operações de indexação e consulta. Eles podem assumir diferentes funções:
Nós de dados armazenam índices. Use esses nós para adicionar, remover e modifique documentos, além de pesquisar e agregar dados.
Nós mestres dedicados gerencie operações no nível do cluster: criação e exclusão de índices, rastreamento de nós e alocação de shards. A estabilidade desses nós é fundamental para a integridade do cluster. Por padrão, qualquer nó pode atuar como mestre dedicado.
Nós clientes reduzem a sobrecarga de CPU dos nós de dados, melhorando o desempenho computacional e a estabilidade do cluster.
índice
Um índice é uma coleção de documentos com características semelhantes, análogo a um banco de dados em um sistema relacional. Por exemplo, crie três índices distintos para armazenar dados de clientes, catálogo de produtos e pedidos.
Cada índice é identificado por um nome em letras minúsculas. Ao indexar, consultar, atualizar ou excluir um documento, especifique o nome do índice ao qual ele pertence.
tipo
Um tipo representa uma partição lógica dentro de um índice, semelhante a uma tabela em um banco de dados relacional. Um índice pode conter documentos de diferentes tipos, como um tipo user e um tipo blog.
O suporte a tipos foi removido progressivamente:
Elasticsearch 5.x: um índice pode conter múltiplos tipos de documentos.
Elasticsearch 6.x: um índice aceita apenas um tipo de documento. O conceito de tipo tornou-se obsoleto.
Elasticsearch 7.x e posteriores: o tipo de um índice é fixado como
_doc.
Para mais detalhes, consulte a documentação do Elasticsearch sobre a remoção de tipos.
documento
O documento é a unidade básica de informação indexável, equivalente a uma linha em uma tabela de banco de dados relacional. Pode representar, por exemplo, um único cliente ou produto. Cada documento é um objeto JSON. Um índice pode conter uma quantidade ilimitada de documentos.
campo
Um campo corresponde à menor unidade dentro de um documento, similar a uma coluna em uma tabela de banco de dados relacional.
mapeamento
O mapeamento define como um documento e seus campos são armazenados e indexados. Isso inclui nomes de campos, tipos de campo e o tokenizador utilizado. Esse conceito equivale ao schema de uma tabela de banco de dados relacional.
A tabela abaixo ilustra a correspondência entre conceitos do Elasticsearch e bancos de dados relacionais.
|
Elasticsearch |
Banco de dados relacional |
|
índice |
banco de dados |
|
tipo |
tabela |
|
documento |
linha |
|
campo |
coluna |
|
mapeamento |
schema |
Shard e shard de réplica
Um índice pode ser dividido em vários shards distribuídos entre os nós para viabilizar a busca distribuída. Existem dois tipos: shards primários e shards de réplica.
Ao criar um índice, especifique a quantidade de shards primários e de réplica. Não é possível alterar o número de shards primários após a criação do índice.
Configuração padrão de shards:
Versões anteriores ao Elasticsearch 7.0: 5 shards primários e 1 shard de réplica por shard primário, por índice.
Elasticsearch 7.0 e posteriores: 1 shard primário e 1 shard de réplica por índice.
A tabela a seguir resume as diferenças entre shards primários e de réplica.
|
Tipo de shard |
Requisições suportadas |
Quantidade alterável após criação |
Observações |
|
Shard primário |
Consulta e indexação |
Não — definido na criação do índice. Consulte Etapa 3: Criar um índice. |
Cada documento pertence a exatamente um shard primário. A quantidade de shards primários determina o volume máximo de dados que um índice comporta. Mais shards primários aumentam a sobrecarga de desempenho do cluster. |
|
Shard de réplica |
Apenas consulta |
Sim — ajustável a qualquer momento. Consulte Modelos de índice. |
Shards de réplica aumentam a tolerância a falhas: se um shard primário for perdido, ele poderá ser restaurado a partir de uma réplica. Também melhoram o throughput de busca ao distribuir a carga de consultas. |
Consulte dados tanto em shards primários quanto em réplicas.
Operações de escrita: quando o cluster recebe uma requisição de escrita, aplica a operação no shard primário correspondente e replica os dados para as réplicas desse shard. Um grande número de shards de réplica aumenta a carga de sincronização de dados durante escritas.
Tanto a quantidade de shards quanto o tamanho individual afetam a estabilidade e o desempenho do cluster. Planeje os shards de todos os índices antes da implantação para evitar degradação de performance em escala. Para orientações de dimensionamento, consulte Avaliar especificações e capacidade de armazenamento.
gateway
O gateway armazena snapshots de índices. Por padrão, um nó mantém todos os índices na memória. Quando a memória do nó se esgota, os índices transbordam para o disco local. Ao reiniciar o cluster, os índices são restaurados a partir dos snapshots do gateway em vez de serem lidos do disco local, o que resulta em uma velocidade significativamente maior.
Tipos de gateway suportados: sistema de arquivos local (padrão), sistema de arquivos distribuído, Hadoop Distributed File System (HDFS) e Alibaba Cloud Object Storage Service (OSS).
discovery.zen
discovery.zen é o mecanismo de descoberta automática de nós usado no Elasticsearch. Como sistema peer-to-peer (P2P), o Elasticsearch descobre nós enviando broadcasts. A comunicação entre os nós utiliza protocolos multicast e P2P.
transport
Transport é a camada de comunicação entre um cluster do Elasticsearch (ou seus nós) e os clientes. O protocolo TCP é usado por padrão. Integre plug-ins para oferecer suporte a protocolos adicionais, incluindo HTTP over JSON, Thrift, Memcached e ZeroMQ.