博客 / 詳情

返回

Easysearch Rollup 相比 OpenSearch Rollup 的優勢分析

背景

在處理時序數據時,Rollup 功能通過數據聚合顯著降低存儲成本,並提升查詢性能。Easysearch 與 OpenSearch 均提供了 Rollup 能力,但在多個關鍵維度上,Easysearch Rollup 展現出更優的表現。本文將從查詢體驗、索引管理、聚合能力、性能優化和任務管理五個方面,分析 Easysearch Rollup 相較於 OpenSearch Rollup 的優勢。


Easysearch vs OpenSearch

1. 查詢體驗:標準接口與無縫集成

Easysearch Rollup 支持通過標準的 _search API 查詢原始索引,系統自動融合 Rollup 數據,用户無需變更現有代碼或使用專用查詢端點。相比之下,OpenSearch Rollup 雖然使用標準查詢語法,但需要用户顯式指定 Rollup 索引,無法自動結合原始數據,在需要同時訪問原始與聚合數據的場景下顯得更為繁瑣。

  • 差異:Easysearch 支持自動融合原始與 Rollup 數據,OpenSearch 需手動指定索引。
  • 影響:Easysearch 顯著降低了查詢邏輯的複雜性和開發維護成本。

2. 索引管理:自動化與擴展能力

Easysearch Rollup 提供自動索引滾動功能,可通過 rollup.index_max_docs. 配置項為不同的目標 Rollup 索引設置文檔數上限,觸發新索引的動態創建,顯著簡化管理流程。此外,配置中支持使用變量(如 {{ctx.source_index}})動態生成目標索引名,便於多個任務複用同一模板,批量擴展 Rollup 任務時更加高效和靈活。

相比之下,OpenSearch Rollup 依賴 Index State Management(ISM)策略或手動操作進行索引切換,配置複雜、監控成本高,且在大規模任務部署時缺乏靈活的模板化機制。

  • 差異:Easysearch 提供內建的自動滾動機制,OpenSearch 依賴外部策略或手動配置。
  • 影響:Easysearch 更易於統一管理和大規模擴展,運維成本更低。

3. 聚合能力:更廣泛的聚合類型支持

Easysearch Rollup 支持豐富的聚合類型,包括數值字段的 avgsummaxminpercentiles,關鍵詞字段的 terms,日期字段的 date_histogramdate_range,還支持 filter 聚合與 special_metrics(可自定義聚合字段和方式)等高級功能。OpenSearch Rollup 支持的聚合類型相對有限,不支持 date_rangefilter 等複雜聚合表達式。

  • 差異:Easysearch 提供更全面的聚合能力,OpenSearch 僅支持基礎聚合。
  • 影響:Easysearch 更適合構建複雜的時序分析任務,滿足更廣泛的業務需求。

4. 性能優化:精細化配置與資源控制

Easysearch Rollup 提供多種性能優化選項,例如 ROLLUP_SEARCH_MAX_COUNT 控制併發查詢數,rollup.hours_before 限制回溯時間範圍,write_optimizationfield_abbr 用於優化寫入效率與運行時的內存佔用。而 OpenSearch Rollup 缺乏類似的專用配置項,主要依賴通用的集羣參數,靈活性與精細度較低。

  • 差異:Easysearch 提供針對 Rollup 場景的專屬優化選項,OpenSearch 優化能力較通用。
  • 影響:Easysearch 在資源使用效率、查詢性能和成本控制方面更具優勢。

5. 任務管理:批量控制與更高靈活性

Easysearch Rollup 支持使用通配符進行任務批量管理,且新建任務默認處於非激活狀態,用户可按需啓用。而 OpenSearch Rollup 中,任務默認立即啓用,管理粒度較粗,僅支持單個任務的啓停與修改,缺乏批量操作能力。

  • 差異:Easysearch 支持批量任務管理與按需啓用,OpenSearch 功能較為基礎。
  • 影響:Easysearch 在多任務環境下提供更高的管理效率和控制能力。

實戰示例:節點統計 Rollup 配置

以下是一個 Easysearch Rollup 任務的配置示例:

{
  "rollup": {
    "source_index": ".infini_metrics",
    "target_index": "rollup_node_stats_{{ctx.source_index}}",
    "timestamp": "timestamp",
    "continuous": true,
    "page_size": 200,
    "cron": "*/5 1-23 * * *",
    "interval": "1m",
    "identity": ["metadata.labels.cluster_id", "metadata.labels.node_id"],
    "stats": [{ "max": {} }, { "min": {} }, { "value_count": {} }],
    "special_metrics": [
      {
        "source_field": "payload.elasticsearch.node_stats.jvm.mem.heap_used_in_bytes",
        "metrics": [{ "avg": {} }, { "max": {} }, { "min": {} }]
      }
    ],
    "write_optimization": true
  }
}
  • 亮點:支持自動索引滾動、標準 API 查詢、special_metrics 高級聚合與寫入優化等特性。

總結

綜合來看,Easysearch Rollup 在以下方面優於 OpenSearch Rollup:

  • 查詢接口的兼容性與無感知集成
  • 自動化的索引管理與擴展能力
  • 更豐富的聚合類型與表達能力
  • 針對性更強的性能優化參數
  • 靈活高效的任務批量管理機制

這些優勢使 Easysearch Rollup 更加適用於複雜、多樣化的時序數據處理場景,特別是在對性能、擴展性與運維效率有較高要求的系統中表現出色。如果你正在尋找一款功能全面、易於管理的 Rollup 解決方案,Easysearch 是一個值得重點考慮的選擇。

user avatar chouchou_5f11814d4719d 頭像 sky124380729 頭像
2 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.