事件类型CTI和Insert的区别

 

INSERT 事件类型将事件及其负载添加到事件流中。除了负载,INSERT 事件的标题还标识事件的开始和结束时间。 下图显示一个 INSERT 事件类型的布局。

标题

负载

事件类型 ::= INSERT

开始时间 ::= DateTimeOffset

结束时间 ::= DateTimeOffset

字段 1 … 字段 n 作为 CLR 类型

CTI 事件类型是一种特殊标点事件,用来指示流中现有事件的完整性。CTI 事件结构由提供当前时间戳的单个字段组成。 CTI 事件具有两个用途:

  1. 首先,它使查询能够接受和处理其应用程序时间戳与其在查询中到达顺序不符的事件。当发出 CTI 事件时,该事件向 StreamInsight 服务器指示,任何后续传入 INSERT 事件都不会修改此 CTI 时间戳之前的事件历史记录。 也就是说,在发出某个 CTI 事件后,任何 INSERT 事件的开始时间都不能早于该 CTI 事件的时间戳。 通过这样指示事件流的“完整性”,StreamInsight 服务器可以释放开窗运算符或其他累积了状态的聚合运算符的结果,从而确保事件流高效地通过系统。

  2. CTI 事件的第二个作用是保持查询的滞后时间较短。频繁的 CTI 将使查询以更高的频率推送出结果。

 重要提示

如果输入流中不存在 CTI 事件,则不会从查询生成任何输出

下图显示 CTI 事件类型的布局。

标题

事件类型 ::= CTI

开始时间 ::= DateTimeOffset

你可能感兴趣的:(事件类型CTI和Insert的区别)