Doing s.th. like
$t1 : Trans( $id : id, $pc : pc, $tt : tt )
$t2 : Trans( this != $t1, id == $id, pc == $pc, tt < ($tt + 3600) )
is bound to produce poor performanc.
Divide and conquer!
You might start with a Consumer record
Consumer( $id : id )
$t1 : Trans( id == $id: , $pc : pc, $tt : tt )
$t2 : Trans( this != $t1, id == $id, pc == $pc, tt < ($tt + 3600) )
You might run an (external) sort on the Transaction records and
process it in batches of identical id+pc.
If transaction times don't go around the clock, you might sort by
date, and process day by day.
You may have to create a Domain Specific Language for the
non-programmers, putting a firm rein on how they combine the basic
facts. Processing large batches is bound to require skills they just
dont have.
-W
On 18 October 2010 16:14, Greg Barton <greg_barton(a)yahoo.com> wrote:
It would be nice if we had an example of some rules. That way we can
rule out obvious performance killers like cartesian products and multiple "from"
clauses in one rule.
GreG
On Oct 18, 2010, at 5:19, Tim 4076 <tm4076(a)gmail.com> wrote:
Hi,
I'm trying to use drools to do grouping of data according to patterns defined in my
rules, but I'm having issues creating something that works in a reasonable amount of
time (seconds). I've tried all sorts of permutations without much luck and would like
to hear how others would do the same thing.
To give an example: I've got a big batch of transaction records and I want to
aggregate all the records where the consumer id and product category are the same and the
purchases were made within an hour of each other.
The fact that its matching the same values between facts, rather than against constants
seems to scupper it somewhat.
I would go down the ETL route, but the idea is for non-techies to define their own
aggregations using rules.
-Cheers. Tim
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users