成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Elasticsearch中數據是如何存儲的?

存儲 存儲軟件
使用Elasticsearch的時候,我們常常需要關注數據存儲在Elasticsearch中的存儲容量。下面,我們來了解一下Elasticsearch中的數據是如何存儲。

 使用Elasticsearch的時候,我們常常需要關注數據存儲在Elasticsearch中的存儲容量。下面,我們來了解一下Elasticsearch中的數據是如何存儲。

[[319021]]

一、Elasticsearch索引結構

Elasticsearch對外提供的是index的概念,可以類比為MySQL DB,用戶查詢是在index上完成的,每個index由若干個shard組成,以此來達到分布式可擴展的能力。比如下圖是一個由10個shard組成的index。

 

Elasticsearch中數據是如何存儲的?

 

shard是Elasticsearch數據存儲的最小單位,index的存儲容量為所有shard的存儲容量之和。Elasticsearch集群的存儲容量則為所有index存儲容量之和。

一個shard就對應了一個lucene的library。對于一個shard,Elasticsearch增加了translog的功能,類似于HBase WAL,是數據寫入過程中的中間數據,其余的數據都在lucene庫中管理的。

所以,Elasticsearch索引使用的存儲內容主要取決于lucene中的數據存儲。

二、lucene數據存儲

下面了解一下lucene的基本概念。

1. lucene基本概念

  • segment : lucene內部的數據是由一個個segment組成的,寫入lucene的數據并不直接落盤,而是先寫在內存中,經過了refresh間隔,lucene才將該時間段寫入的全部數據refresh成一個segment,segment多了之后會進行merge成更大的segment。lucene查詢時會遍歷每個segment完成。由于lucene 寫入的數據是在內存中完成,所以寫入效率非常高。但是也存在丟失數據的風險,所以Elasticsearch基于此現象實現了translog,只有在segment數據落盤后,Elasticsearch才會刪除對應的translog。
  • doc : doc表示lucene中的一條記錄。
  • field :field表示記錄中的字段概念,一個doc由若干個field組成。
  • term :term是lucene中索引的最小單位,某個field對應的內容如果是全文檢索類型,會將內容進行分詞,分詞的結果就是由term組成的。如果是不分詞的字段,那么該字段的內容就是一個term。
  • 倒排索引(inverted index): lucene索引的通用叫法,即實現了term到doc list的映射。

 

Elasticsearch中數據是如何存儲的?

 

  • 正排數據:搜索引擎的通用叫法,即原始數據,可以理解為一個doc list。
  • doc values:Elasticsearch中的列式存儲的名稱,Elasticsearch除了存儲原始數據、倒排索引,還存儲了一份doc values,用作分析和排序。doc values 的存在是因為倒排索引只對某些操作是高效的。 倒排索引的優勢在于查找包含某個項的文檔,而對于從另外一個方向的相反操作并不高效,即:確定哪些項是否存在單個文檔里,聚合需要這種次級的訪問模式。

 

Elasticsearch中數據是如何存儲的?

 

2. lucene文件內容

lucene包的文件是由很多segment文件組成的,segments_xxx文件記錄了lucene包下面的segment文件數量。每個segment會包含如下的文件。

 

Elasticsearch中數據是如何存儲的?

 

 

Elasticsearch中數據是如何存儲的?

 

一份數據寫入Elasticsearch 會產生多份數據用于不同查詢方式,會比原數據占用更多磁盤空間。

對照上面的lucene文件表,進行簡要歸納:

  • 存儲原文_source的文件.fdt .fdm .fdx;
  • 存儲倒排索引的文件.tim .tip .doc;
  • 用于聚合排序的列存文件.dvd .dvm;
  • 全文檢索文件.pos .pay .nvd .nvm等;
  • 加載到內存中的文件有.fdx .tip .dvm;

其中.tip占用內存最大,而.fdt、.tim、.dvd文件占用磁盤最大。

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2024-12-16 17:02:58

MySQLInnoDB數據庫

2023-01-12 15:25:51

Curve數據存儲

2024-03-01 09:57:19

數據庫檢索項目

2017-11-27 08:17:38

存儲數據位置

2017-11-01 14:29:38

2019-09-18 11:03:01

數據存儲數據庫

2022-04-08 08:30:42

大數據網絡

2018-05-09 10:40:15

云存儲數據對象存儲

2021-12-21 09:35:59

CSV存儲數據Python

2014-02-27 10:08:33

NoSQL

2025-02-19 10:18:29

2018-05-03 08:53:41

Redis存儲對象

2013-07-25 14:17:17

2011-12-28 13:30:39

云計算云存儲

2018-11-02 09:16:05

數據存儲磁帶

2021-07-20 09:33:46

數據應用程序開發

2012-08-28 09:29:41

虛擬化

2025-02-28 05:50:12

2024-05-31 13:29:47

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品国产一区二区三区久久影院 | 亚洲欧美日韩一区二区 | www.久草.com| 日韩精品在线看 | 欧美涩涩网 | 一区二区免费看 | 国产精品jizz在线观看老狼 | 久久伊人免费视频 | 三级成人在线观看 | 欧美黄色免费网站 | 欧美一区视频 | 黑人巨大精品欧美一区二区免费 | 日韩视频一区二区 | 亚洲免费一 | www.夜夜骑.com | 欧美一级二级在线观看 | 在线观看www视频 | 夜夜操天天艹 | 亚洲欧美日韩激情 | 蜜桃在线视频 | 成人av一区二区三区 | 国产在线成人 | 日韩在线观看精品 | 国产高清一二三区 | 午夜电影一区二区 | 国产精品1区2区3区 男女啪啪高潮无遮挡免费动态 | 午夜成人免费视频 | 国产成人精品亚洲日本在线观看 | 做a视频 | 一区二区三区回区在观看免费视频 | 激情国产视频 | 在线欧美日韩 | 中文字幕国产视频 | 亚洲电影第三页 | 成人免费视频网站在线观看 | 一区二区三区四区视频 | 日本午夜一区 | 国产成人精品一区二区三区视频 | 国产精品日韩欧美一区二区三区 | 国产精品永久免费 | 亚洲免费视频网址 |