全部產品
Search
文件中心

Elasticsearch:Indexing Service系列介紹

更新時間:Mar 26, 2025

您可以根據業務的讀寫需求選擇使用Elasticsearch核心增強版Indexing Service系列,通過其雲上寫入託管能力,體驗按需購買、隨用隨付的低成本、高效能的時序日誌情境下的Elasticsearch服務。本文主要介紹Indexing Service的適用情境、架構、優勢以及效能測試結果。

基於讀寫分離架構的核心增強版Indexing Service,不僅實現了Elasticsearch叢集的雲端寫入Indexing Service託管,還從硬體選型、叢集架構、核心效能進行了全方位最佳化。在提升叢集寫入效能的同時,您可以從讀寫角度分別評估業務需求,根據實際寫入隨用隨付,而無須按照叢集峰值寫入輸送量預留資源,大大降低了雲上使用Elasticsearch的資源成本和營運成本。

重要

該功能目前已開放中國香港地區,其他地區敬請期待。

適用情境

適用於寫入TPS較高、寫入流量波動較大和搜尋QPS較低的時序資料分析情境,例如日誌檢索分析、Metric監控分析、IoT智能硬體資料收集及監控分析等。

重要

Indexing Service核心增強版執行個體與使用者叢集進行資料同步時,依賴於apack/cube/metadata/sync任務(可通過GET _cat/tasks?v命令擷取該任務資訊),不建議手動清理該任務。如果被清理,請儘快使用POST /_cube/meta/sync命令恢複,否則會影響業務寫入。

架構

fig_01

此架構具備如下優勢:

  • 高效能:專業級寫入最佳化,Indexing Service索引構建服務通過索引物理複製、計算儲存分離、faster-bulk等阿里雲自研特性最佳化寫入效能,您無需做任何配置變更即可享受專業級寫入效能。

  • 低延遲:跨叢集即時物理複製,通過segment層級的即時物理複製,在寫入流量飽和的情況下,使用者叢集相對於Indexing Service叢集的平均資料延遲達到百毫秒級。

  • 高穩定:異地容災,Indexing Service具備異地多叢集備份能力。當某一個叢集出現異常時,可切換使用者叢集的索引託管至另一個正常叢集,進一步提升寫入高可用性。

費用說明

Indexing Service索引構建服務會收取寫入託管(寫入流量和託管儲存空間)的費用。

說明
  • 無論ES執行個體的付費模式是訂用帳戶還是隨用隨付,寫入託管費用按實際寫入流量和實際託管儲存空間進行隨用隨付。詳情請參見阿里雲ES計費

  • 雖然開啟Indexing Service索引構建服務會收取寫入託管費用,但該服務會降低叢集中用於承載寫入計算的節點資源的費用。

優勢

  • 低成本:寫入計算資源成本平均降低了60% 。

  • 彈性擴充:寫入資源由雲端Indexing Service後台調配和管理,以應對寫入流量波動。在無需資料移轉的情況下,實現日誌情境下Elasticsearch叢集的寫入彈性擴充能力,輕鬆應對高峰流量。

  • 免營運:使用者無須關注Elasticsearch叢集的寫入資源和寫入壓力,由Indexing Service實現雲上寫入託管,極大降低叢集營運成本。

使用限制

雲端託管功能可以為您建立的Elasticsearch叢集提供寫入Serverless服務,但是在使用時,對資料寫入和索引配置有相關限制。詳情請參見下表。

分類

限制項

限制說明

備忘

執行個體維度

寫入流量保護

寫入流量最大為200 MB/s

如果超過最大限制,返回狀態代碼429,提示Inflow Quota Exceed。如果您有更大的使用需求,請提交工單申請。

寫入文檔數保護

寫入文檔保護數最大為200000 個/秒

如果超過最大限制,返回狀態代碼429,提示Write QPS Exceed。如果您有更大的使用需求,請提交工單申請。

Put Mapping限流保護

Put Mapping最大為50 tps/s

如果超過最大限制,返回狀態代碼429,提示PutMappingRequest blocked

說明

頻繁的Put Mapping將消耗大量的計算資源,對託管服務穩定性影響極大。建議您寫資料前提前定義索引模板,降低Put Mapping操作。

Shard維度

寫入流量

不帶主鍵寫入流量最大為10 MB/s

帶主鍵寫入流量最大為5 MB/s

如果超過最大限制,返回狀態代碼429,提示write_size blocked。非硬性限制,如果超過最大限制,系統會儘可能服務,但不保證服務品質。

寫入文檔數

寫入文檔數最大為5000 個/秒

非硬性限制,如果超過最大限制,系統會儘可能服務,但不能保證服務品質。

Shard數

單個索引最多可建立的Shard數

最多可建立300個Shard。

無。

配置

index.refresh_interval

雲端託管叢集中預設配置此參數,使用者側配置不生效。

無。

index.translog.durability

translog在雲端託管叢集中預設配置為非同步寫入模式(index.translog.durability=async),使用者側配置不生效。

無。

refresh、merge等寫入參數

雲端託管叢集中預設已配置refresh、merge等寫入參數,使用者側配置不生效。

預設配置如下。

"index.merge.policy.max_merged_segment" : "1024mb",
"index.refresh_interval" : "30s",
"index.translog.durability" : "async",
"index.translog.flush_threshold_size" : "2gb",
"index.translog.sync_interval" : "100s"

索引

生命週期配置

不支援在索引生命週期中自訂freeze

無。

shrink操作

Indexing Service情境,索引處於託管狀態,不相容ILM Action中的shrink操作,建議當索引處於未託管狀態時,執行shrink配置。詳細資料,請參見ILM-shrink

無。

取消託管時間

索引預設託管3天后自動取消託管。

可依據業務資料在生命週期中修改取消託管時間。

Ingest Node

  • 概念

    預先處理操作允許在索引文檔之前,即寫入資料之前,通過事先定義好的一系列的processors(處理器)和pipeline(管道),對資料進行某種轉化和富化。詳情請參見Ingest Node

  • 使用建議

    當您使用時序寫入Serverless服務時,如果在indexing之前使用ingest node來預先處理documents,則ingest將在使用者叢集中進行處理。建議不要使用過於複雜的加工處理邏輯。

效能測試

  • 測試環境:

    • 資料集:官方esrally提供的nyc_taxis

    • 叢集規格:分別使用3個資料節點的2核8 GB、4核16 GB和8核32 GB規格。

    • 索引配置:分區數為15,副本數為1,均開啟translog非同步寫入和物理複製功能,refresh_interval為5秒。

  • 測試結果:

    規格

    執行個體版本

    寫入TPS

    寫入可見度延遲

    3個資料節點的2核8 GB

    通用商業版

    24883

    5秒

    核心增強版Indexing Service

    226649

    6秒

    3個資料節點的4核16 GB

    通用商業版

    52372

    5秒

    核心增強版Indexing Service

    419574

    6秒

    3個資料節點的8核32 GB

    通用商業版

    110277

    5秒

    核心增強版Indexing Service

    804010

    6秒

  • 測試結論:

    核心增強版Indexing Service與通用商業版效能對比結果:

    • 基於3個資料節點的2核8 GB規格,效能提升了910%。

    • 基於3個資料節點的4核16 GB規格,效能提升了801%。

    • 基於3個資料節點的8核32 GB規格,效能提升了729%。