我是 CEP 2.1 的新手,我的问题与 CEP 保留输入流的时间范围有关
假设您定期将数据发送到某个输入流,例如“HELLOSTREAM”。CEP 将输入保存到流中多久,最长时间是多少等...
假设我每天发送数据 365 天,我会在 366 天取回所有数据还是会在某个时候截断数据(仅保留最后 100 天)?无论我在查询中设置什么时间窗口?
有限制吗?
我是 CEP 2.1 的新手,我的问题与 CEP 保留输入流的时间范围有关
假设您定期将数据发送到某个输入流,例如“HELLOSTREAM”。CEP 将输入保存到流中多久,最长时间是多少等...
假设我每天发送数据 365 天,我会在 366 天取回所有数据还是会在某个时候截断数据(仅保留最后 100 天)?无论我在查询中设置什么时间窗口?
有限制吗?
要添加到@Mohanadarshan 的答案,如果您想要在很长一段时间内从快速事件流中提取和存储一些值,则基于 CEP 的更好方法将是使用持久事件表(将包含在即将到来的 CEP 3.0.0 版,即将发布)。通过这种方式,您将能够对一些提取和持久化的数据进行实时处理。但正如@Mohanadarshan 所提到的,如果您的要求是批处理(并且如果您不需要实时检测任何东西),WSO2 BAM 将是一个更好的选择。
长时间使用滑动窗口来存储大量数据并不是一个好主意,因为它们存储在内存中,而且如果服务器出现故障,您也会丢失数据。
CEP 是一个实时处理服务器。它用于实时查找预定义模式并进行实时监控。它将数据保存在内存中并处理事件,但您可以将数据保存到 cassandra 以进行分布式处理......
这里的数据将根据您定义的窗口大小保存在内存中,这取决于您正在使用的窗口类型以及该窗口的时间或长度......如果您不使用任何窗口,它将不会保留任何内存中的数据...
如果您想将数据存储 365 天或 100 天,那么它不是实时用例。为此,您必须使用像 BAM 这样的离线处理服务器。