日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用aliyun-codec插件

aliyun-codec插件是阿里云自主開發的索引壓縮插件,可以對Elasticsearch(ES)底層多種索引文件進行壓縮,同時支持source_reuse_doc_values特性。適用于寫入量大、索引存儲成本高的場景,例如日志場景、時序分析場景等,可以大幅降低索引的存儲成本。

背景信息

aliyun-codec插件支持多種壓縮算法,同時支持source_reuse_doc_values特性。本文介紹如何使用aliyun-codec插件,包括:

aliyun-codec插件的性能測試信息如下:

  • 測試環境

    • 數據集:使用阿里云Elasticsearch線上主日志。

    • 數據大小:單個index,索引大小為1.2 TB,22個shard。

    • 索引配置:開啟行存(source)、列存(docvalue)和倒排(postings)壓縮,都使用zstd壓縮算法。

  • 測試結果

    • 使用aliyun-codec插件,開啟索引壓縮后,與未開啟索引壓縮特性的集群相比:

      • 寫入速率:不變。

      • 索引整體大小:降低了40%。

      • I/O密集型查詢場景延遲:降低了50%。

    • 使用aliyun-codec插件,開啟source_reuse_doc_values特性后,與未開啟該特性的集群相比:

      • 寫入速率:不變。

      • 索引整體大小:最多可降低40%。降低百分比與索引中開啟source_reuse_doc_values特性的字段的比例相關。

      • I/O密集型查詢場景延遲:與索引中開啟source_reuse_doc_values特性的字段的比例、節點磁盤類型等因素有關,具體以實際測試為準。

前提條件

  • 創建阿里云Elasticsearch實例,版本為7.10.0。

    具體操作,請參見創建阿里云Elasticsearch實例

  • 根據業務場景,升級實例的內核版本:

    • 如果您僅需要對索引文件進行壓縮:將內核版本升級至1.5.0及以上版本。

    • 如果您不僅需要對索引文件進行壓縮,還需要使用source_reuse_doc_values特性:將內核版本升級至1.6.0及以上。

    升級內核版本的具體操作請參見升級版本

  • 安裝aliyun-codec插件(7.10版本實例默認已安裝)。

    您可在插件配置頁面查看是否已安裝aliyun-codec插件。如果還未安裝,請手動進行安裝,安裝方法請參見安裝或卸載系統默認插件

使用限制

  • 僅實例版本為7.10.0,且內核版本為1.5.0及以上的阿里云Elasticsearch實例,支持aliyun-codec插件的索引壓縮功能。6.7.0版本實例請使用codec-compression插件,詳細信息請參見使用索引壓縮插件beta版本(codec-compression)

  • 僅實例版本為7.10.0,且內核版本為1.6.0及以上的阿里云Elasticsearch實例支持source_reuse_doc_values特性,且日志場景化模板(aliyun_default_index_template )默認開啟壓縮,即"index.codec" : true

使用索引壓縮功能

  1. 登錄目標阿里云Elasticsearch實例的Kibana控制臺,根據頁面提示進入Kibana主頁。
    登錄Kibana控制臺的具體操作,請參見登錄Kibana控制臺
    說明 本文以阿里云Elasticsearch 7.10.0版本為例,其他版本操作可能略有差別,請以實際界面為準。
  2. 單擊右上角的Dev tools
  3. Console頁簽,執行以下腳本,開啟索引壓縮。

    假設您已創建test索引,可通過如下腳本為該索引開啟壓縮。

    PUT test/_settings
    {
      "index.codec" : "ali"
    }

    為索引添加以上配置之后,阿里云Elasticsearch默認會對該索引的行存(source)、列存(docvalue)和倒排(postings)三類文件使用zstd算法進行壓縮。

    您也可以為某類文件使用指定的壓縮算法。以下示例表示對倒排(postings)文件不開啟壓縮,對行存(source)和列存(docvalue)文件使用zstd算法進行壓縮。

    說明

    如果您要關閉某類文件的壓縮,可將對應參數配置為"",例如以下示例代碼中的"index.postings.compression":""

    PUT test/_settings
    {
      "index.codec":"ali",
      "index.doc_value.compression.default":"zstd",
      "index.postings.compression":"",
      "index.source.compression":"zstd"
    }

    索引配置參數說明如下。

    索引配置參數

    參數取值說明

    index.doc_value.compression.default

    • lz4:對列存(docvalue)文件使用lz4壓縮算法。

    • zstd:對列存(docvalue)文件使用zstd壓縮算法。

    說明

    該插件目前只對索引中的number類型、date類型、keyword類型和ip類型字段的docvalue文件開啟壓縮。

    index.postings.compression

    zstd:對倒排(postings)文件使用zstd壓縮算法。

    index.source.compression

    • zstd:對行存(source)文件使用zstd壓縮算法,壓試塊大小為128 KB。

    • zstd_1024:對行存(source)文件使用zstd壓縮算法,壓試塊大小為1024 KB。

    • zstd_dict:對行存(source)文件使用zstd壓縮算法,附帶了dict功能,會比zstd壓縮率更高,但是讀寫性能會差一些。

    • best_compression:對行存(source)文件使用原生Elasticsearch對應的source壓縮算法。

    • default:對行存(source)文件使用原生Elasticsearch對應的source壓縮算法。

    index.postings.pfor.enabled

    是否開啟索引倒排編碼優化:

    • true :開啟

    • false:不開啟

    該功能為原生ES 8.0版本功能,可以節省keyword, match_only_text, text字段14.4%的存儲空間,3.5%的整體磁盤空間。被阿里內核應用在低版本阿里云ES上。

使用source_reuse_doc_values特性

開啟source_reuse_doc_values特性

執行以下命令,在創建索引時開啟source_reuse_doc_values特性。

PUT test
{
  "settings": {
    "index": {
      "ali_codec_service": {
        "source_reuse_doc_values": {
          "enabled": true
        }
      }
    }
  }
}
重要

source_reuse_doc_values特性只能在創建索引時開啟,且一旦開啟無法關閉。

調整source_reuse_doc_values特性配置

說明

原生Elasticsearch底層會存儲多份數據,例如數據會同時存儲在_source、倒排索引和doc_values中,source_reuse_doc_values會將_source中存儲的相同部分的JSON數據進行裁剪,來降低整體索引的大小。

開啟source_reuse_doc_values特性后,您還可以根據業務,調整source_reuse_doc_values特性的相關配置:

  • 調整開啟source_reuse_doc_values字段的最大個數。

    當開啟source_reuse_doc_values特性的字段個數超過您設置的值,Elasticsearch將拋出異常或自動關閉source_reuse_doc_values特性,默認為50。調整方式如下。

    PUT _cluster/settings
    {
      "persistent": {
           "apack.ali_codec_service.source_reuse_doc_values.max_fields": 100
      }
    }
  • 設置是否強制不能超過您設置的開啟source_reuse_doc_values特性的最大字段個數。

    • true:超過您設置的值,Elasticsearch會拋出異常。

    • false:超過您設置的值,Elasticsearch會自動關閉source_reuse_doc_values特性。

    PUT _cluster/settings
    {
      "persistent": {
           "apack.ali_codec_service.source_reuse_doc_values.strict_max_fields": true
      }
    }
  • 調整查詢時讀取開啟了source_reuse_doc_values字段值的并發度。

    在獲取原文時,source_reuse_doc_values特性會并發讀取文檔中開啟了source_reuse_doc_values字段的值并進行組裝。為了降低耗時,您可以調整系統獲取各字段值的并發度。默認并發度為5,您可以通過如下方式調整。

    PUT test/_settings
    {
      "index": {
        "ali_codec_service": {
          "source_reuse_doc_values": {
            "fetch_slice": 2
          }
        }
      }
    }
  • 調整讀取開啟了source_reuse_doc_values字段值的線程池和隊列大小。

    線程池默認大小為節點的核數,隊列默認大小為1000。該配置僅能通過修改YML文件調整,修改YML文件的具體操作請參見配置YML參數。您可以在YML文件中添加如下配置進行調整。

    apack.doc_values_fetch:
        size: 8
        queue_size: 1000