軟件系統的數據檢索設計
隨著業務量加大,數據檢索量也會日益增多,為了減輕數據庫壓力,本系統采用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。
審核編輯 黃宇
-
數據
+關注
關注
8文章
7139瀏覽量
89577 -
軟件系統
+關注
關注
0文章
63瀏覽量
9524
發布評論請先 登錄
相關推薦
評論