日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

白话Elasticsearch50-深入聚合数据分析之doc values机制

發布時間:2025/3/21 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 白话Elasticsearch50-深入聚合数据分析之doc values机制 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 概述
  • 官網
  • doc value原理
    • (1)index-time生成
    • (2)核心原理與倒排索引類似
    • (3)性能問題:給jvm更少內存,64g服務器,給jvm最多16g
  • column壓縮
    • (1)所有值相同,直接保留單值
    • (2)少于256個值,使用table encoding模式
    • (3)大于256個值,看有沒有最大公約數,有就除以最大公約數,然后保留這個最大公約數
  • disable doc value


概述

繼續跟中華石杉老師學習ES,第51篇

課程地址: https://www.roncoo.com/view/55


官網

doc_values: 戳這里



doc value原理

(1)index-time生成

PUT/POST的時候,就會生成doc value數據,也就是正排索引


(2)核心原理與倒排索引類似

正排索引,也會寫入磁盤文件中,然后呢,os cache先進行緩存,以提升訪問doc value正排索引的性能

如果os cache內存大小不足夠放得下整個正排索引,doc value,就會將doc value的數據寫入磁盤文件中。


(3)性能問題:給jvm更少內存,64g服務器,給jvm最多16g

es官方是建議,es大量是基于os cache來進行緩存和提升性能的,不建議用jvm內存來進行緩存,那樣會導致一定的gc開銷和oom問題。

給jvm更少的內存,給os cache更大的內存。

舉個例子:64g服務器,給jvm最多16g,剩下的幾十個g的內存給os cache
os cache可以提升doc value和倒排索引的緩存和查詢效率


column壓縮

(1)所有值相同,直接保留單值

舉個例子

doc1: 100 doc2: 100 doc3: 200

合并相同值,100,doc1和doc2都保留一個100的標識即可


(2)少于256個值,使用table encoding模式

了解即可, table encoding 一種壓縮方式


(3)大于256個值,看有沒有最大公約數,有就除以最大公約數,然后保留這個最大公約數

舉個例子

doc1: 36 doc2: 24

doc1: 最大公約數6, doc2: 最大公約數4 -----> 保留一個最大公約數6的標識,6也保存起來


disable doc value

如果的確不需要doc value,那么可以禁用,減少磁盤空間占用

PUT my_index {"mappings": {"my_type": {"properties": {"my_field": {"type": "keyword""doc_values": false }}}} }

總結

以上是生活随笔為你收集整理的白话Elasticsearch50-深入聚合数据分析之doc values机制的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。