【问题标题】:Elasticsearch search query on hot and warm nodes热节点和温节点上的 Elasticsearch 搜索查询
【发布时间】:2020-06-03 11:04:36
【问题描述】:

在 Elasticsearch 中使用热/温架构,在多个索引上的搜索查询,具有索引模式或别名,在热和温节点上是否比使用简单架构更有效?

我的意思是热节点是查询中的限制因素还是热节点无论如何都会提高性能?

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    热/暖架构的全部意义在于:

    • 能够在热节点上以最佳方式索引当前数据
    • 同时仍然能够快速搜索热点节点上的最新数据
    • 还能够搜索暖节点上的旧数据,甚至是冷节点上的 (c) 旧数据。

    随着时间的推移,较旧的索引会从热(快)节点移动到暖(慢)节点,再到(甚至更慢)冷节点。

    但是,如果您的搜索别名跨越所有索引(位于暖节点和热节点上),则查询性能可能与最慢的暖节点一样差。理想情况下,您应该至少有两个搜索别名:

    • 最近的数据(例如search_recent)仅跨越热节点上的索引
    • 另一个用于跨越所有索引的所有数据(例如 search_all)。

    这样,您对最近数据的大部分搜索(即在search_recent 上)只会命中热节点,但如果您想搜索较旧的数据,您也可以这样做(即在search_all 上)。

    在前一种情况下,您可以预期查询会很快(因为只在热节点上运行),而在后一种情况下,您事先知道查询会更慢(因为在暖/冷节点上执行)。

    【讨论】:

    • 如何根据索引阶段(热、暖、冷)设置别名? @Val
    • @YuriyBosov 我建议您针对您的用例提出一个新问题,这样会更容易回答
    • 全部完成:link
    【解决方案2】:

    热温架构更适合时间序列数据(例如日志记录)。任何搜索最新数据的查询都会命中热节点并且速度很快。暖节点旨在处理大量不太可能被频繁查询的只读索引。

    如果您的查询将同时命中热节点和热节点,那么整体查询性能将取决于最慢节点的性能。在这种情况下,这是暖节点的性能。在这种情况下,拥有非常快的热节点不会提高查询性能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-03
      • 1970-01-01
      相关资源
      最近更新 更多