欢迎投稿

今日深度:

elasticsearch写入数据存储的过程,

elasticsearch写入数据存储的过程,


es建索引写入数据,数据最先是存在内存buffer里的,然后再刷入到lucene的底层文件segment中;
写入segment完毕后再执行refresh操作,refresh操作后,数据将commit到磁盘中。
数据刷入到了磁盘,就可以执行查询操作了。


       过程简单描述如下:内存buffer-->segment-->refresh-->磁盘


注意,这些过程,会有translog记录;translog存在的意义就是保证数据刷入的可靠性;
因为我们刚才说过,es建索引写入数据的过程是内存到磁盘的过程,这个过程有日志的记录,
那就是translog,当数据还在内存里没刷到磁盘中时,如果服务器down了又没translog机制的话,
那么数据就会丢失,有了translog,服务器down机后再起来,就能很快恢复写入的过程。

       这里要注意的是,translog也是先存在内存里的,然后默认5秒刷一次写到硬盘里。

www.htsjk.Com true http://www.htsjk.com/Elasticsearch/29684.html NewsArticle elasticsearch写入数据存储的过程, es建索引写入数据,数据最先是存在内存buffer里的,然后再刷入到lucene的底层文件segment中; 写入segment完毕后再执行refresh操作,refresh操作后,数据将...
相关文章
    暂无相关文章
评论暂时关闭