2

我是 CEP 2.1 的新手,我的问题与 CEP 保留输入流的时间范围有关

假设您定期将数据发送到某个输入流,例如“HELLOSTREAM”。CEP 将输入保存到流中多久,最长时间是多少等...

假设我每天发送数据 365 天,我会在 366 天取回所有数据还是会在某个时候截断数据(仅保留最后 100 天)?无论我在查询中设置什么时间窗口?

有限制吗?

4

2 回答 2

1

要添加到@Mohanadarshan 的答案,如果您想要在很长一段时间内从快速事件流中提取和存储一些值,则基于 CEP 的更好方法将是使用持久事件表(将包含在即将到来的 CEP 3.0.0 版,即将发布)。通过这种方式,您将能够对一些提取和持久化的数据进行实时处理。但正如@Mohanadarshan 所提到的,如果您的要求是批处理(并且如果您不需要实时检测任何东西),WSO2 BAM 将是一个更好的选择。

长时间使用滑动窗口来存储大量数据并不是一个好主意,因为它们存储在内存中,而且如果服务器出现故障,您也会丢失数据。

于 2013-08-07T06:03:49.703 回答
1

CEP 是一个实时处理服务器。它用于实时查找预定义模式并进行实时监控。它将数据保存在内存中并处理事件,但您可以将数据保存到 cassandra 以进行分布式处理......

这里的数据将根据您定义的窗口大小保存在内存中,这取决于您正在使用的窗口类型以及该窗口的时间或长度......如果您不使用任何窗口,它将不会保留任何内存中的数据...

如果您想将数据存储 365 天或 100 天,那么它不是实时用例。为此,您必须使用像 BAM 这样的离线处理服务器。

于 2013-08-06T16:12:11.980 回答