【发布时间】:2020-10-04 23:57:43
【问题描述】:
对于我们的一些日志,我们有以下架构:
- 收集事件的“主”事件表。每个事件都有一个唯一的 ID (guid)。
- 对于每个事件,我们都会收集额外的 IoT 数据(传感器数据),其中还包含 guid 作为事件表的链接
现在,我们经常看到有人从物联网数据开始,然后想要查询主事件表的架构。联接或查询条件是 guid。现在,由于我们有大量数据,因此无条件查询当然不会在短时间内返回。
现在我们的分析师所做的是将时间范围作为一个因素。通常,传感器数据是指在同一天或 +/- 几小时、几分钟或几秒内发生的事件(取决于事件)。此查询通常返回,但并不总是尽可能快。鉴于 guid 是唯一的,明确说明此知识的查询通常比那些不明确说明的查询要快得多,例如
Event_Table | where ... | take 1
不幸的是,每个人都需要记住数据的这些属性。
经过这么长的介绍:在 Kusto 中有没有一种方法可以在不明确写“take 1”的情况下加快这些查询的速度?例如,告诉 Kusto 引擎此列包含唯一键?我不是在谈论强制执行(就像数据库唯一键那样),而只是为了向 kusto 提供有关如何改进查询的提示?这可以以某种方式完成吗?
【问题讨论】: