汇总概述
编辑汇总概述编辑
基于时间的数据(主要由时间戳标识的文档)通常具有相关的保留策略来管理数据增长。例如,您的系统可能每秒生成 500 个文档。这将每天生成 4300 万个文档,每年将近 160 亿个文档。
虽然您的分析师和数据科学家可能希望您无限期地存储这些数据以供分析,但时间是无止境的,因此您的存储需求将无限增长。因此,保留策略通常由随着时间的推移存储成本的简单计算以及组织愿意为保留历史数据支付的费用来决定。通常,这些策略从几个月或几年后开始删除数据。
存储成本是一个固定量。存储 Y 数据需要 X 金钱。但数据片段的效用通常会随着时间而改变。以毫秒级粒度收集的传感器数据现在非常有用,如果来自几周前,则相当有用,如果超过几个月,则只有边际效用。
因此,虽然存储十年前的毫秒级传感器数据的成本是固定的,但该单个传感器读数的价值通常会随着时间而降低。它并非毫无用处——它可以轻松地为有用的分析做出贡献——但它降低的价值通常会导致删除,而不是支付固定的存储成本。
汇总以降低的粒度存储历史数据编辑
这就是汇总发挥作用的地方。汇总功能将旧的、高粒度数据汇总成降低粒度的格式以供长期存储。通过将数据“汇总”成单个摘要文档,与原始数据相比,历史数据可以大大压缩。
例如,考虑每天生成 4300 万个文档的系统。每秒的数据对于实时分析很有用,但回顾十年数据的历史分析可能以更大的间隔(如每小时或每天的趋势)进行。
如果我们将 4300 万个文档压缩成每小时的摘要,我们可以节省大量空间。汇总功能自动执行此汇总历史数据的过程。
有关设置和配置汇总的详细信息,请参阅创建作业 API。
汇总使用标准查询 DSL编辑
汇总功能公开了一个新的搜索端点(/_rollup_search
与标准 /_search
),它知道如何搜索汇总数据。重要的是,此端点接受 100% 正常的 Elasticsearch 查询 DSL。您的应用程序不需要学习新的 DSL 来检查历史数据,它可以简单地重复使用现有查询和仪表板。
可用功能存在一些限制;并非所有查询和聚合都受支持,某些搜索功能(突出显示等)被禁用,可用字段取决于汇总的配置方式。这些限制在汇总搜索限制中进行了更详细的介绍。
但是,如果您的查询、聚合和仪表板仅使用可用功能,则将它们重定向到历史数据非常简单。
汇总合并“实时”和“汇总”数据编辑
汇总的一个有用功能是能够在单个查询中查询“实时”实时数据以及历史“汇总”数据。
例如,您的系统可能会保留一个月的原始数据。一个月后,它将使用汇总汇总成历史摘要,原始数据将被删除。
如果您要查询原始数据,您只会看到最近一个月的数据。如果您要查询汇总数据,您只会看到一个月以前的数据。但是,RollupSearch 端点支持同时查询两者。它将获取来自两个数据源的结果并将它们合并在一起。如果“实时”和“汇总”数据之间存在重叠,则优先使用实时数据以提高准确性。
汇总是多间隔感知的编辑
最后,汇总能够智能地利用最佳可用间隔。如果您使用过其他产品的汇总功能,您会发现它们可能很有限。如果您以每天的间隔配置汇总……您的查询和图表只能使用每天的间隔。如果您需要一个月的间隔,您必须创建另一个明确存储月平均值的汇总等。
汇总功能以这样一种方式存储数据,即查询可以识别最小的可用间隔并将其用于处理。如果您以每天的间隔存储汇总,则可以在每天或更长的间隔(每周、每月等)上执行查询,而无需显式配置新的汇总作业。这有助于缓解汇总系统的主要缺点之一;相对于原始数据的灵活性降低。