elasticsearch之源码分析(shard分片规则)

大数据和人工智能躺过的坑 大数据和人工智能躺过的坑     2022-08-25     357

关键词:

 

 

 

  前期博客是

 

 

 

  (1)elasticsearch在建立索引时,根据id或(id,类型)进行hash,得到hash值之后再与该索引的分片数量取模,取模的值即为存入的分片编号。
源码:org.elasticsearch.cluster.routing.OperationRouting类中的generateShardId方法
  (2)可以指定把数据存储到某一个分片中,通过routing参数
      curl -XPOST '192.168.80.10:9200/zhouls/emp?routing=rout_param' -d '{"name":"zs","age":20}'
      routing(路由参数)
  (3)注意:显著提高查询性能,routing,routing,还是 routing

 

 

后续更新

 

12.sharding-jdbc源码之强制路由

...dangdang.ddframe.rdb.sharding.hint中,核心类HintManagerHolder的部分源码如下:ThreadLocal中管理的HintManager定义如下:分析了sharding-jdbc的强制路由实现的源码,接下来说说如何使用这一niubility特性,假定数据源定义如下: 查看详情

数据库中间件sharding-jdbc源码分析——sql解析之查询sql

650)this.width=650;"src="https://www.yunai.me/images/common/wechat_mp_2017_07_31.jpg"style="border:2pxsolidrgb(238,238,238);margin-top:0px;"/>关注微信公众号:【芋艿的后端小屋】有福利:RocketMQ/MyCAT/Sharding-JDBC 所有源 查看详情

数据库分库分表中间件sharding-jdbc源码分析——sql解析之删除sql

650)this.width=650;"src="https://www.iocoder.cn/images/common/wechat_mp_2017_07_31.jpg"style="border:2pxsolidrgb(238,238,238);margin-top:0px;"/>关注微信公众号:【芋道源码】有福利:RocketMQ/MyCAT/Sharding-JDBC 所有源码 查看详情

数据库中间件sharding-jdbc源码分析——sql解析之sql解析

650)this.width=650;"src="https://segmentfault.com/img/remote/1460000010420232"style="border:1pxsolidrgb(221,221,221);vertical-align:middle;padding:3px;"alt="1460000010420232"/>关注微信公众号:【芋艿的后端小屋】有福利:Roc 查看详情

elasticsearch源码分析之search模块(client端)

elasticsearch源码分析之search模块(client端) 注意,我这里所说的都是通过restapi来做的搜索,所以对于接收到请求的节点,我姑且将之称之为client端,其主要的功能我们可以简单地概括为将的数据请求发送到node,然后在对返回的... 查看详情

数据库中间件sharding-jdbc源码分析——sql解析之语法解析

650)this.width=650;"src="https://mmbiz.qpic.cn/mmbiz_jpg/JdLkEI9sZfek8wsibLgUofxYr6j047uLDkibN1A55y1PQDZiafsicMehRnkDxJbAMyDld20aWR00ktVGkalwMpCibAA/640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_laz 查看详情

elasticsearch之client源码简要分析

问题让我们带着问题去学习,效率会更高1 es集群只配置一个节点,client是否能够自动发现集群中的所有节点?是如何发现的?2 esclient如何做到负载均衡?3 一个esnode挂掉之后,esclient如何摘掉该节点?4 esclientnode... 查看详情

elasticstack系列之十六&elasticsearch5.xindex/create和update源码分析

开篇  在ElasticSearch系列十四中提到的问题即ElasticStack系列之十四&ElasticSearch5.xbulkupdate中重复id性能骤降,继续这个问题再继续查看更加多的源代码,看看底层在执行index、create和update操作到底有什么不同,有什么可以使得我... 查看详情

elasticsearch线程池类型分析之sizeblockingqueue(代码片段)

ElasticSearch线程池类型分析之SizeBlockingQueue尽管前面写好几篇ES线程池分析的文章(见文末参考链接),但都不太满意。但从ES的线程池中了解到了不少JAVA线程池的使用技巧,于是忍不住再写一篇(ES6.3.2版本的源码)。文中给出的... 查看详情

elasticsearch源码更新性能分析(代码片段)

带着疑问学源码,第三篇:Elasticsearch更新性能代码分析基于:https://github.com/jiankunking/elasticsearchElasticsearch7.10.2+目的在看源码之前先梳理一下,自己对于更新疑惑的点:为什么Elasticsearch更新与写入的性能会... 查看详情

(48)elasticsearch之查询结果分析(代码片段)

  1、准备数据PUT/lib"settings":"number_of_shards":3,"number_of_replicas":0,"mappings":"user":"properties":"name":"type":"text","address":"type":"text","age":"type":"integer","interests":"type":"text","birthday":"type":"date"put/lib/user/1"name":"zhaoliu","address":"heilongjiangshengtielings... 查看详情

elasticsearch源码分析-架构设计之action

参考技术A如果我们发送如下的http请求,elasticsearch是如何匹配对应Action的呢?在org.elasticsearch.rest.action包下面,存放了处理各种请求的restaction类在每个action的构造方法中,会将当前action对象注册到指定的url上在registerHandler()方法... 查看详情

sharding-proxy源码分析(代码片段)

目录Sharding-Proxy源码分析Sharding-Proxy包结构Sharding-Proxy启动流程Sharding-Proxy请求接入MySQL报文解析器MySQL执行器MySQLComQueryPacketExecutor执行流程MySQLComStmtExecuteExecutor执行流程Sharding-Proxy消息处理Sharding-Proxy源码分析在看Sharding-Proxy源码之... 查看详情

elasticsearch源码写入分析(代码片段)

带着疑问学源码,第一篇:Elasticsearch写入代码分析基于:https://github.com/jiankunking/elasticsearchElasticsearch7.10.2+目的在看源码之前先梳理一下,自己对于写入流程疑惑的点:Elasticsearch写入是等待所有副本都写入... 查看详情

elasticsearch源码检索分析(代码片段)

带着疑问学源码,第二篇:Elasticsearch搜索代码分析基于:https://github.com/jiankunking/elasticsearchElasticsearch7.10.2+目的在看源码之前先梳理一下,自己对于检索流程疑惑的点:当索引是按照日期拆分之后,在使... 查看详情

elasticsearch最佳实践之index与shard设计(代码片段)

  Index与Shard,这两个概念在《Elasticsearch最佳实践之核心概念与原理》一文有详细的介绍,分别对应了Elasticsearch的两种数据组织方式:逻辑组织和物理组织。逻辑层面上,Index与业务数据的结构、类型、使用方... 查看详情

elasticsearch源码节点关闭分析(代码片段)

带着疑问学源码,第六篇:Elasticsearch节点关闭分析代码分析基于:https://github.com/jiankunking/elasticsearchElasticsearch7.10.2+目的在看源码之前先梳理一下,自己对于节点关闭流程疑惑的点:节点关闭都做了哪些检... 查看详情

elasticsearch源码检索分析(代码片段)

带着疑问学源码,第二篇:Elasticsearch搜索代码分析基于:https://github.com/jiankunking/elasticsearchElasticsearch7.10.2+目的在看源码之前先梳理一下,自己对于检索流程疑惑的点:当索引是按照日期拆分之后,在使... 查看详情