--- On Fri, 11/7/08, techy <techluver007(a)gmail.com> wrote:
1. I can't have multiple session from same rulebase and
assign each session to single thread. right?
No reason why you couldn't. The Session is what holds the state. Now there may be
differences between StatefulSession and StatelessSession. StatelessSession you can
definately do this. The originating RuleBase maintains no reference to the
StatelessSessions spawned from it. A RuleBase does maintain references to the
StatefulSessions it spawns, so you should be aware of that. I'd say if you create the
StatefulSessions in a single thread, then execute them in their own child threads, you
should be fine.
2. Can I use drools 5 in production environment? if not,
when is first prod release expected?
That's a question for the dev team. :)
3. where can I do look for rule base partitioning
examples/info?
I looked last night through the docs in trunk and couldn't find any, but all I did was
"grep -i partitioning". Probably the best place to look is in the unit tests.
There's only one method you need to call to set it up,
setMultiThreadedEvaluation(boolean). And see this unit test in trunk for an example:
drools-compiler\src\test\java\org\drools\integrationtests\RulebasePartitioningTest.java
Greg Barton wrote:
>
> I'm assuming you'll be running each rule base
in a separate thread
> simultaneously? There are no dependencies between the
rules in the five
> rule bases? If so, that will work just fine.
>
> If your rules are simple enough you can use sequential
mode. It can speed
> up execution quite a bit.
>
>
http://downloads.jboss.com/drools/docs/4.0.7.19894.GA/html_single/index.h...
>
> This could be used in conjunction with the
simultaneous execution above.
>
> Finally, you can get some multithreaded benefit in a
single rule session
> if you're using drools 5 and turn on rule base
partitioning. As I
> understand it this works best when the rules have less
join conditions in
> them. (i.e. mostly single object conditions, and less
multi-object
> conditions.)
>
> --- On Thu, 11/6/08, techy
<techluver007(a)gmail.com> wrote:
>
>> From: techy <techluver007(a)gmail.com>
>> Subject: [rules-users] Rule processing for High
volume input
>> To: rules-users(a)lists.jboss.org
>> Date: Thursday, November 6, 2008, 3:41 PM
>> I have to run rules(1000 rules) against 20-30
million of
>> record each day.
>> I guess I would have memory issue If I insert all
of
>> records into working
>> memory.
>>
>> so I'm thinking to have multiple rule base
instance and
>> do batch processing
>> as given below.so that I can avoid memory issue
and quick
>> rule processing
>>
>>
>> a.Take first 1 million records and distribute 1
millon
>> across working
>> memory of 5 rule base.
>> b.fire rules in all 5 rule base
>> c.clear working memory of all rule base
>> d. take next 1 million record and start from
step-a till I
>> process all of
>> the records.
>>
>>
>> Please advise whether this is possible/recommended
way or
>> not.
>>
>> thanks