博客
关于我
ElasticSearch-深入理解系列7-分布式增删查改
阅读量:798 次
发布时间:2023-03-31

本文共 546 字,大约阅读时间需要 1 分钟。

文档存储在哪个分片中?

根据算法,存储的分片是通过对路由信息进行哈希计算后再与主分片数量取模得到的。具体来说,分片 ID 等于路由值对主分片数量取模的结果。这个过程决定了文档最终存储的位置,但一旦分片确定后,这个信息就无法再被修改了。

主分片和复制分片的交互机制是这样的:在默认配置下,所有写入操作都先在主分片完成后再同步到复制分片。这样可以确保数据一致性。用户在查询数据时,可以直接从主分片或任一复制分片进行检索。

写操作(如新增、修改、删除)必须按照以下顺序进行:首先修改主分片,完成后再同步到所有复制分片。可以通过设置 replication 为同步模式(default)来实现这一点。如果需要异步写入,可以将其设置为 async,此时主分片完成后会立即返回给客户端。

在局部更新操作中,所有分片都需要参与。写入完成后,系统会自动将数据刷入到磁盘,并执行刷新操作(refresh),最终将数据提交(commit)到磁盘。这一过程确保了数据在搜索时可以被查询到。

关于数据存储,Elasticsearch 将新写入的数据首先存储在内存缓冲区中,然后写入到 Lucene 的段文件中。完成段文件的刷新(refresh)操作后,数据才会被持久化到磁盘。这一流程确保了数据的高效存储和快速检索。

转载地址:http://tsefk.baihongyu.com/

你可能感兴趣的文章
ORA-01795: 列表中的最大表达式数为 1000
查看>>
ora-12541:tns:no listener
查看>>
【docker知识】联合文件系统(unionFS)原理
查看>>
ORACEL学习--理解over()函数
查看>>
oracle 10g crs命令,Oracle 10g CRS安装问题解决一例
查看>>
oracle 10g的安装配置
查看>>
Oracle 11g 使用RMAN备份数据库
查看>>
Oracle 11gR2学习之二(创建数据库及OEM管理篇)
查看>>
Oracle 11g中的snapshot standby特性
查看>>
Oracle 11g忘记sys、system、scott密码该这样修改!
查看>>
Oracle 11g数据库安装和卸载教程
查看>>
Oracle 11g超详细安装步骤
查看>>
Oracle BEQ方式连接配置
查看>>
ORACLE Bug 4431215 引发的血案—原因分析篇
查看>>
oracle dblink 创建使用 垮库转移数据
查看>>
oracle dblink结合同义词的用法 PLS-00352:无法访问另一数据库
查看>>
Oracle dbms_job.submit参数错误导致问题(ora-12011 无法执行1作业)
查看>>
oracle dg switchover,DG Switchover fails
查看>>
Oracle EBS-SQL (BOM-15):检查多层BOM(含common BOM).sql
查看>>
Oracle EBS环境下查找数据源(OAF篇)
查看>>