ES-数据写入
1、数据写入流程 : 写入请求 》 内存Buffer 》 index segment file 》 OS Cache 》 OS Disk
2、index segment file 记录数据访问开关,提供数据的查询功能,当执行 refresh 后立即执行搜索开关 Open,
segment 文件大小达到阀值或者一定时间(默认30分钟),merge 相似的 segment ,触发flush,OS Cache里的数据同步到 OS Disk。创建新的 commit point, 标记新的segment,删除旧标记。将新的segment搜索状态打开,删除旧的segment。
3、translog 文件 (数据容灾,数据备份,数据恢复)
4、refresh 行为会立即触发缓存中的文档写入segment中,但是此时新创建的segment是写在文件系统的缓存中的,如果出现断电等异常,那么这部分数据就丢失了。所以 ES 会定期执行flush操作,将缓存中的segment全部写入磁盘并确保写入成功,同时创建一个commit point,整个过程就是一个完整的commit过程。