Just stick with standard inference mode, until you reach a problem
(which is unlikely), you only gain any real performance benefit from
sequantiel mode for large numbers of facts and rules. Unless you rule
authors have a problem deal with inference mode, then obviously you need
to just use sequential mode. i.e. probably best to make it a user driven
choice, rather than technical.
Mark
Vijay K Pandey wrote:
Can anyone comment on my questions? If you need any more information
please let me know.
Thanks
Vijay
------------------------------------------------------------------------
*From:* rules-users-boun...@lists.jboss.org
[mailto:rules-users-boun...@lists.jboss.org] *On Behalf Of *Vijay K Pandey
*Sent:* Saturday, August 15, 2009 2:52 PM
*To:* Rules Users List
*Subject:* Re: [rules-users] Drrols 5 Expert --> Sequential vs Inference
Here is more information on this.
a) Our business transactions (OLTP + batches (sequential)) can
result in the range of 500K to 750k of transactions in a day. All
these are short running transactions and max # of business rules that
can get executed in it can be in the range of 50-75
b) Each transaction can roughly interact with around 10 to 15 RDBMS
tables with CRUD operations
c) Read can result of no more than 100 records and CUD of no more
than 25 records max in a single transaction
d) We do cache lookup/master data -- but we don't cache the
transactional data (few tables have around 10 million records) ---
within a business process there is always a likelihood of checking
least 5 to 10 associated transaction data for the inserted fact. Our
transactional data is always changing.
e) Not all the rules are evaluated for each input -- we can have a
max of around 20 to 25 business rules max for a given input.
f) We do have the lookup/master data perfected -- which form a good
amount of LHS condition but along with that mostly all our business
process have rules that have to do some checks against associated
transactional data which can't be perfected.
Thanks
Vijay
-----Original Message-----
From: rules-users-boun...@lists.jboss.org
[mailto:rules-users-boun...@lists.jboss.org] On Behalf Of Greg Barton
Sent: Saturday, August 15, 2009 12:53 AM
To: Rules Users List
Subject: Re: [rules-users] Drrols 5 Expert --> Sequential vs Inference
Answering this question in any meaningful way without more information
is difficult. My first instinct is to wonder if the database calls
really need to be done directly from the LHS of the rules, especially
with this many of them. I hope you're able to cache the database queries.
Anyway, in general, if you have that many rules it is usually best to
keep them in a fashion that's easily manageable, and that's what RBMSs
are for. Apart from that it's hard to address your question without
more information. Are all of the 3500*0.9 rules evaluated for each
input? Can the data from the database be prefetched into working
memory instead of fetched in each LHS? How often does this fetched
data change? There are many paths you could follow mattering on the
answers to these questions and others.
--- On Fri, 8/14/09, Vijay K Pandey <vpan...@mdes.ms.gov> wrote:
> From: Vijay K Pandey <vpan...@mdes.ms.gov>
> Subject: [rules-users] Drrols 5 Expert --> Sequential vs Inference
> To: "rules-users@lists.jboss.org" <rules-users@lists.jboss.org>
> Date: Friday, August 14, 2009, 10:52 PM
>
> Hi,
>
> We have around 3500
> business rules and
> rules are mainly look up value based or based on the
> associated data in the
> RDBMS.
>
> There are around 90%
> processes where we
> only need sequential rules check, the other 10% of
> processes requires the
> inference capability.
>
> My
> questions:
>
> a)
> Which is the best
> way to go for this
> -- should we set up all the rules as inference through
> stateful session or
> segregate 90% as sequential and others as inference. Will
> this segregation
> going to give better performance in Drools 5 and
> later?
>
> b)
> Lots of our LHS
> depends on the data from
> RDBMS -- we insert 1 fact -- then make use of
> "from/collect" to get hold of various
> associated data ---then do
> some checks on the data fetched from RDBMS -- so is it
> better to program them
> in java directly or as sequential rules?
>
> Any guidance will be
> helpful?
>
> Thanks
>
>
> Vijay
>
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
------------------------------------------------------------------------
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users