It will be easier to explain these concepts using an example of a fraud detection system. Fraud in banking systems is becoming a major concern. The amount of online transactions are increasing every day. An automatic system for fraud detection is needed. The system should analyze various events happening in a bank, and based on a set of rules, raise an appropriate alarm.
This problem cannot be solved by the standard Drools rule engine. The volume of events is huge and they happen asynchronously. If we simply insert 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 the number of objects in a session, we could use the processing power more wisely. Drools Fusion is the right candidate for this kind of task.