前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Primary Shard and Replica Shard

Primary Shard and Replica Shard

作者头像
程序猿杜小头
发布2022-12-01 21:31:13
4520
发布2022-12-01 21:31:13
举报
文章被收录于专栏:程序猿杜小头程序猿杜小头

Primary Shard and Replica Shard

Primary Shard

Primary Shard,即主本分片。每个文档都会存储在主本分片中。具体地,当索引一条文档(indexing a document)时,Elasticsearch首先将该文档保存在主本分片中,然后将其拷贝至主本分片的所有副本分片中。默认地,一个索引拥有一个主本分片;在创建索引时,我们可以通过number_of_shards参数指定主本分片的数量,如下:

代码语言:javascript
复制
PUT /<index-name>
{
    "settings": {
        "index": {
            "number_of_shards": 3
        }
    }
}

索引一旦生成,那么就不允许修改主本分片数量,因为文档归属于哪一个主本分片是由如下公式计算得出的,如果主本分片数量发生变更,那么就破坏了这种路由规则。

代码语言:javascript
复制
shard_num = hash(_routing) % num_primary_shards

Replica Shard

Replica Shard,即副本分片。副本分片是主本分片的拷贝,每个主本分片可以拥有零个或者多个副本分片,但主本分片与其副本分片不会落在同一Elasticsearch节点中。副本分片有以下优点:

  • increase failover, a replica shard can be promoted to a primary shard if the primary fails.
  • increase performance, get and search requests can be handled by primary or replica shards.

默认地,每个主本分片拥有一个副本分片;索引一旦生成,我们依然可以通过number_of_replicas参数动态地修改副本分片数量,如下:

代码语言:javascript
复制
PUT /<index-name>/_settings
{
    "settings": {
        "index": {
            "number_of_replicas": 2
        }
    }
}

A shard is a single Lucene instance. It is a low-level “worker” unit which is managed automatically by Elasticsearch.

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-02-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序猿杜小头 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Primary Shard and Replica Shard
    • Primary Shard
      • Replica Shard
      相关产品与服务
      Elasticsearch Service
      腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档