当您的内容排名可以快速变化时,分页很难,当每个用户的排名不同时,分页就更难了.(让我们将无限卷轴视为一种链接不可见的分页.)有两个难题:顶部新添加的内容和重新排列的内容.
让我们忘记新添加的内容,并接受您必须刷新第1页才能看到它.我们也假装我们做的很纯粹ORDER BY position; 如果您按其他方式订购,则可能必须使用窗口功能.我们的页面每页有4行动物.他们开始:
+----+----------+-----------+
| id | position^| animal |
+----+----------+-----------+
| 1 | 1 | Alpacas |
| 2 | 2 | Bats |
| 3 | 3 | Cows |
| 4 | 4 | Dogs |
| 5 | 5 | Elephants |
| 6 | 6 | Foxes |
| 7 | 7 | Giraffes |
| 8 | 8 | Horses |
+----+----------+-----------+
Run Code Online (Sandbox Code Playgroud)
在我们获取第1页之后,在我们获取第2页之前,很多项目都会移动.DB现在是:
+----+----------+-----------+
| id | position^| animal | …Run Code Online (Sandbox Code Playgroud) 我对复杂事件处理非常感兴趣,并一直在关注Esper.然而,我的公司有反GPL立场,我想知道在Apache或BSD这样的商业友好许可下是否有非GPL替代品?
是否存在类似于Esper(Java和.NET)的Python替代方案来处理复杂事件处理(CEP)?
我想了解有关如何构建基于CEP的应用程序的更多信息.所以我环顾四周,找到了几个产品(概述在这里:http://rulecore.com/CEPblog/?page_id = 47).
但由于目前有不少,我不知道哪个是最好的开始.总的来说,我只会考虑免费提供的那个.其余的只是私人使用有点贵;)
Esper是免费的,但没有Esper工作室,开发一个cep应用程序似乎相当繁琐.Streambase提供免费试用,但我无法知道你可以使用多长时间(如果只有一个月,那么对于更长时间的研究没有帮助).Oracle CEP套件似乎相当完整,但在cep场景中 - 据我所知 - 与Esper或Streambase相比,它是最不被认可的.
那么你有什么提示开始cep开发的最佳方法吗?是否值得花时间研究oracle文档,或者从Esper或Streambase开始是否更好?
干杯,
安德烈亚斯
OSIsoft的"PI System"中的PI代表什么?
https://www.osisoft.com/resources/case_studies/case_studies.aspx
我不知道它是代表符号/数字pi,还是代表技术的先前名称,如"过程智能".PI太接近于更常见的BI,只是巧合.
注 - 有Channel9视频演示了MS如何使用OSIsoft监视某些操作.C9视频的链接来自"SQL 2008 R2"CEP页面.SQL CEP功能称为StreamInsight.
https://www.microsoft.com/sqlserver/2008/en/us/R2-complex-event.aspx
我一直在寻找Esper(和Storm)进行流处理.Esper似乎完全按照我想要的方式进行..即roling意味着,中位数,复杂查询等...但有一件事让我感到疑惑.
如何使用Esper扩展到多个实例?
据我所知,Storm处理分布式处理,但是使用Esper,你可以独立完成.
我不需要为可能的未来做到这一点,但随着我们的成长,我们的数据量也将需要扩展.我们很可能会部署在Amazon EC2中.
在将它们发送到我的Esper应用程序之前,我是否需要运行多个服务器和分片数据?
有更优雅的处理方式吗?
-Sajal
除了Nesper和Microsoft StreamInsight之外,是否有任何与.Net(即它具有.Net API)友好协作的 CEP引擎/平台?
我有两个对象流,每个对象都有一个Timestamp值.两个流都是有序的,因此例如时间戳可以是一个流中的T a = 1,3,6,6,7而另一个流中的T b = 1,2,5,5,6,8.两个流中的对象属于同一类型.
我希望能够做的是按时间戳顺序将每个事件放在总线上,即放置A 1,然后放置B 1,B 2,A 3等等.此外,由于某些流具有多个具有相同时间戳的(顺序)元素,因此我希望将这些元素分组,以便每个新事件都是一个数组.所以我们将[A 3 ]放在总线上,然后是[A 1 5,A 2 5 ],依此类推.
我试图通过制作两个ConcurrentQueue结构来实现这一点,将每个事件放在队列的后面,然后查看队列的每个前面,首先选择先前的事件,然后遍历队列,以便存在具有此时间戳的所有事件.
但是,我遇到了两个问题:
我认为Rx可以在这方面提供帮助,但我没有看到明显的组合使这成为可能.因此,非常感谢任何建议.
我有一系列离散事件进入我的系统,我需要根据每个事件的内容应用规则.此外,我想对这些流事件应用复杂的事件处理.
约束1.这些规则由用户提供,并将动态更改.2.每当应用规则时,我都不想重新启动系统.3. HA 4.只有成熟的开源解决方案
可能的方法.. 1.在风暴螺栓内运行Esper CEP
2.在风暴螺栓内部运行drools
这会做单事件规则处理以及复杂事件吗?规则更改是否需要我的风暴重启?
我可以动态地将规则插入到暴风雨中吗?
其他方案?火花?
architecture esper complex-event-processing apache-spark apache-storm
esper ×4
c# ×2
.net ×1
amazon-ec2 ×1
apache-spark ×1
apache-storm ×1
architecture ×1
database ×1
go ×1
licensing ×1
oracle ×1
pagination ×1
pi-db ×1
python ×1
scalability ×1