[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