Pan*_*wal 1 groovy hadoop rule-engine drools
我正在为我的项目评估规则引擎.该项目将基于hadoop.我使用DROOLS完成了一些POC.基本上我在Mapper端使用DROOL.基于以下是我的观察和查询.
1)a)我使用DROOLS(需要大约17秒)对3百万个对象发出规则b)我使用if/else循环应用相同的逻辑,如同DRL文件中的3百万个对象,没有drools,使用简单的Java对象(带走.17秒).b约为 比a快100倍.这是正常的行为吗?有没有办法将规则编译为java字节码/类.
2)除了DROOLS之外,什么是最快的基于Java的规则引擎框架.是否有人使用普通GROOVY开发了规则引擎.任何其他框架建议,将业务规则编译为java字节代码,这将导致更快的规则评估?
3)有人对hadoop最适合的DSL/Rule框架有一些经验.
关于Drools/Java(Q1):
您可能没有建立公平的比较.有几种方法可以"对300万个物体发射规则",你可能没有选择最快的.
众所周知,当您在前向链接引擎中运行许多模式/多对象匹配算法时,会产生相当大的开销.您可能根本不需要规则,或者更简单(更有效)的规则评估技术可能就足够了.
至于比较规则引擎:这是一个非常不确定的主题.每个基准测试都有其特殊的使用场景,一些供应商已经通过一些着名的(学术)测试或其他测试来优化他们的引擎以获得更好的性能.
至于Q2,我不知道.考虑到开发一个好的规则引擎需要很多精明,时间和精力,我非常怀疑.
我认为你不能得到Q3的答案."最佳"永远不会与某些应用程序框架相关 - 标准是规则的数量和复杂性,与数据的数量和复杂性相结合.
| 归档时间: |
|
| 查看次数: |
2949 次 |
| 最近记录: |