软件系统的数据检索设计

2024-08-22 13:54:29 浏览数 (2)

  软件系统的数据检索设计

  随着业务量加大,数据检索量也会日益增多,为了减轻数据库压力,本系统采用ElasticSearch来实现数据检索功能。

  简单来说,Elasticsearch 是一个实时的分布式存储、搜索、分析的引擎,它可以近乎实时的存储、检索数据,本身扩展性很好,可以扩展到上百台服务器,处理PB级别(大数据时代)的数据,ElasticSearch的检索流程如下:

​  数据检索流程图

  1) 执行refresh操作将mem buffer中的数据写入到新的segment并写入os cache,然后打开本segment以供search使用,最后再次清空mem buffer。

  2) 一个commit point被写入磁盘,这个commit point中标明所有的index segment。

  3) filesystem cache(os cache)中缓存的所有的index segment文件被fsync强制刷到磁盘os disk,当index segment被fsync强制刷到磁盘上以后,就会被打开,供查询使用。

  translog被清空和删除,创建一个新的translog。

0 人点赞