[rules-users] Drrols 5 Expert --> Sequential vs Inference

Mark Proctor mproctor at codehaus.org
Mon Aug 17 22:42:56 EDT 2009


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-bounces at lists.jboss.org 
> [mailto:rules-users-bounces at 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-bounces at lists.jboss.org 
> [mailto:rules-users-bounces at 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 <VPandey at mdes.ms.gov> wrote:
>
>  
>
> > From: Vijay K Pandey <VPandey at mdes.ms.gov>
>
> > Subject: [rules-users] Drrols 5 Expert --> Sequential vs Inference
>
> > To: "rules-users at lists.jboss.org" <rules-users at 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 at lists.jboss.org
>
> https://lists.jboss.org/mailman/listinfo/rules-users
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>   

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20090818/267142f2/attachment.html 


More information about the rules-users mailing list