您可以根據業務的讀寫需求選擇使用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命令恢複,否則會影響業務寫入。
架構

此架構具備如下優勢:
高效能:專業級寫入最佳化,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,提示 說明 頻繁的Put Mapping將消耗大量的計算資源,對託管服務穩定性影響極大。建議您寫資料前提前定義索引模板,降低Put Mapping操作。 | |
Shard維度 | 寫入流量 | 不帶主鍵寫入流量最大為10 MB/s 帶主鍵寫入流量最大為5 MB/s | 如果超過最大限制,返回狀態代碼429,提示 |
寫入文檔數 | 寫入文檔數最大為5000 個/秒 | 非硬性限制,如果超過最大限制,系統會儘可能服務,但不能保證服務品質。 | |
Shard數 | 單個索引最多可建立的Shard數 | 最多可建立300個Shard。 | 無。 |
配置 | index.refresh_interval | 雲端託管叢集中預設配置此參數,使用者側配置不生效。 | 無。 |
index.translog.durability | translog在雲端託管叢集中預設配置為非同步寫入模式(index.translog.durability=async),使用者側配置不生效。 | 無。 | |
refresh、merge等寫入參數 | 雲端託管叢集中預設已配置refresh、merge等寫入參數,使用者側配置不生效。 | 預設配置如下。 | |
索引 | 生命週期配置 | 不支援在索引生命週期中自訂freeze。 | 無。 |
shrink操作 | Indexing Service情境,索引處於託管狀態,不相容ILM Action中的shrink操作,建議當索引處於未託管狀態時,執行shrink配置。詳細資料,請參見ILM-shrink。 | 無。 | |
取消託管時間 | 索引預設託管3天后自動取消託管。 | 可依據業務資料在生命週期中修改取消託管時間。 | |
Ingest Node |
| ||
效能測試
測試環境:
測試結果:
規格
執行個體版本
寫入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%。