您可以根據業務的讀寫需求選擇使用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執行個體的付費模式是訂用帳戶還是隨用隨付,寫入託管費用按實際寫入流量和實際託管儲存空間進行隨用隨付。詳情請參見計費規則。
-
雖然開啟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操作 |
無。 |
||
|
取消託管時間 |
索引預設託管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%。
-