当前位置: 首页 > news >正文

elasticsearch的副本和分片的区别

es/elasticsearch的副本和分片的区别
一:概念
(1)集群(Cluster): ES可以作为一个独立的单个搜索服务器。不过,为了处理大型数据集,实现容错和高可用性,ES可以运行在许多互相合作的服务器上。这些服务器的集合称为集群。

(2)节点(Node): 形成集群的每个服务器称为节点。

         索引(index): 在 ES 中, 索引是一组文档的集合

(3)分片(shard)
       当有大量的文档时,由于内存的限制、磁盘处理能力不足、无法足够快的响应客户端的请求等,一个节点可能不够。这种情况下,数据可以分为较小的分片。每个分片放到不同的服务器上。当你查询的索引分布在多个分片上时,ES会把查询发送给每个相关的分片,并将结果组合在一起,而应用程序并不知道分片的存在。即:这个过程对用户来说是透明的。

(4)副本(Replia)
       为提高查询吞吐量或实现高可用性,可以使用分片副本。
副本是一个分片的精确复制,每个分片可以有零个或多个副本。ES中可以有许多相同的分片,其中之一被选择更改索引操作,这种特殊的分片称为主分片。
当主分片丢失时,如:该分片所在的数据不可用时,集群将副本提升为新的主分片。

二:二者区别
分片与副本的区别在于:

当你分片设置为5,数据量为30G时,es会自动帮我们把数据均衡地分配到5个分片上,即每个分片大概有6G数据,当你查询数据时,ES会把查询发送给每个相关的分片,并将结果组合在一起。

而副本,就是对分布在5个分片的数据进行复制。因为分片是把数据进行分割而已,数据依然只有一份,这样的目的是保障查询的高效性,副本则是多复制几份分片的数据,这样的目的是保障数据的高可靠性,防止数据丢失。

注意
索引建立后,分片个数是不可以更改的
 

http://www.lryc.cn/news/113105.html

相关文章:

  • Docker部署Gitlab
  • ABeam News | ABeam大中华区新人入社式,开启崭新的职场探索之旅吧!
  • 【C++】开源:sqlite3数据库配置使用
  • [Docker实现测试部署CI/CD----Jenkins集成相关服务器(3)]
  • 【Shell】基础语法(二)
  • Unity之webgl端通过vue3接入腾讯云联络中心SDK
  • 《算法竞赛·快冲300题》每日一题:“连接草坪(II)”
  • LNMP及论坛搭建(第一个访问,单节点)
  • EXCEL,多条件查询数字/文本内容的4种方法
  • 全志D1-H (MQ-Pro)驱动 OV5640 摄像头
  • 2023下半年软考初级网络管理员报名入口-报名流程-备考方法
  • QEMU源码全解析29 —— QOM介绍(18)
  • 从入门到精通——【初识网络】
  • MySQL alter命令修改表详解
  • Vulnhub: ColddWorld: Immersion靶机
  • Redis 总结【6.0版本的】
  • 状态模式(C++)
  • 承泰科技Q3再获30多个智驾项目,新增订单0.86亿!累计近11亿!
  • 以太网Ethernet通信协议
  • 内网横向移动—资源约束委派
  • Spring Boot Logback日志格式改为JSON
  • Linux 块设备操作函数
  • linux c++网络编程基础:服务端与客户端的实现
  • 坐标转换-使用geotools读取和转换地理空间表的坐标系(sqlserver、postgresql)
  • JavaScript的主要应用场景有哪些?请描述一下JavaScript的基本数据类型和引用数据类型分别是哪些?
  • webpack性能优化
  • 保存和读取带有透明通道的视频
  • bilibili的评论ip属地显示未知
  • [BabysqliV3.0]phar反序列化
  • 数据库架构演变过程