[rules-users] Drools Fusion Performance and RETE algorithm

Orlando Ricardo Da Silva Costa orlandoricardo at gmail.com
Tue Aug 17 11:40:54 EDT 2010


Hi all
Looking at "Drools JBoss Rules 5 0 Developer's guide" it addresses the
Fusion component at page 134, stating:
"This problem cannot be solved by the standard Drools rule engine. The
volume of events is huge and it happens asynchronously. If we simply
inserted them into the  knowledge session, we would soon run out of
memory. While the Rete algorithm behind Drools doesn't have any
theoretical limitation on number of objects in the session, we could
use the processing power more wisely. Drools Fusion is the right
candidate for this kind of task."

Ok, but my question is if this is enough, because I would guess that
Fusion could be used to derived a more complex/rich event from the
stream of events, and afterwards that complex event would be inserted
in Working Memory (but not the flow of events that have generated the
more complex event), thus reducing RETE algorithm processing. But
since in our case every event will most certainly fire a rule, I am
not sure about Fusion's usage.

This is because our project is more a kind of
Event-Trigger-Rule/Action system, meaning we have a high volume of
incoming events (say more than 5000/minute), but each of the events
will have to trigger a rule (and usually a rule is more or less a
complex action, invoking DB operations and data structures
manipulation).

So, by using Fusion entry-points, would that be different than just
sending the events as "normal" facts to Working Memory, or by dividing
this in entry-points( or so called streams)  we would have benefits in
the RETE processing (I am assuming Fusion also uses RETE someway)?

Best regards
Orlando.

PS-Does anyone know where can I find more info on the coupling of
Drools Expert and Fusion?



More information about the rules-users mailing list