There's not that much to say - and if you do a search you should find more 
information.
Basically only have the information that you need in memory. If you need to 
make calculations of previous state, rather than keeping the previous state all 
loaded up just have facts which record the state - perhaps an OrderTotal fact 
which contains the total of all the orders. When a new order arrives you update 
the value of that.

It all depends on what you are trying to achieve and what you are doing.  
Without a concrete understanding of what sort of problem you are trying to 
solve and what you are planning to do we can't give much more guidance beyond 
that there are various different solutions and approaches that are appropriate 
for various different problem spaces.

Thomas

From: rules-users-boun...@lists.jboss.org 
[mailto:rules-users-boun...@lists.jboss.org] On Behalf Of WangRamon
Sent: 12 December 2011 09:50
To: rules-users@lists.jboss.org
Subject: Re: [rules-users] Can Drools supply large Knowledge Base?

Thanks Thomas!

The solutions you provided are great, can you give more explanation on your 
second point "Use accumulating facts and only keep the data you need in 
memory", thanks.

Cheers
Ramon

________________________________
From: tswinde...@nds.com
To: rules-users@lists.jboss.org
Date: Mon, 12 Dec 2011 09:24:14 +0000
Subject: Re: [rules-users] Can Drools supply large Knowledge Base?
I think you are mixing up terms which doesn't help.
I think you mean you may have 100GB of facts that will be in your distributed 
database. Unless you are planning to do some odd automatic rule generation you 
will have to write the rules by hand and so will only have a relatively small 
number of rules in your application - this will easily fit in memory.

If 100GB is the size of the facts you have then clearly you can't hold them all 
in memory of a single machine. Drools is effectively a special in memory 
database, in order to perform its processing it needs the relevant data.
You basically have these options which of these will work depends on your use 
case and in reality you'll probably need to combine them:
1.       Use partitioning, rather than having 1 set of 100 gb of data, have 10 
sets of 10 gbs running on ten machines. Many times you may be able to partition 
by customer ID or some other natural value which may give you good enough 
results.
2.       Use accumulating facts and only keep the data you need in memory, eg 
if you need to know how many orders a customer has made then don't keep all the 
orders in memory, just a simple object containing the total.
3.       Don't use drools, depending on what you are doing it may be better 
just to use normal db queries to extract the data you need. It may be you get 
the query results, insert them into a new short lived session, fire the rules 
and then get the results of the drools processing.

Thomas

From: rules-users-boun...@lists.jboss.org 
[mailto:rules-users-boun...@lists.jboss.org] On Behalf Of WangRamon
Sent: 12 December 2011 09:11
To: rules-users@lists.jboss.org
Subject: Re: [rules-users] Can Drools supply large Knowledge Base?

Hi Guys

I'm still confused about this question, let's say i may have a very large rule 
set, how can Drools support this case, will it load every rule into memory? Any 
idea? Thank you guys.

Cheers
Ramon

________________________________
From: ramon_w...@hotmail.com
To: rules-users@lists.jboss.org
Date: Thu, 8 Dec 2011 11:59:21 +0800
Subject: [rules-users] Can Drools supply large Knowledge Base?
Hi All

I'm new to Drools, I will build a very large Knowledge Base, let's say it will 
be larger than 100GB, the files will be stored in a distribute database, so can 
Droools supply this large Knowledge Base? Any solution? Thank you very much.

Cheers
Ramon

_______________________________________________ rules-users mailing list 
rules-users@lists.jboss.org<mailto:rules-users@lists.jboss.org> 
https://lists.jboss.org/mailman/listinfo/rules-users

________________________________

**************************************************************************************
This message is confidential and intended only for the addressee. If you have 
received this message in error, please immediately notify the 
postmas...@nds.com<mailto:postmas...@nds.com> and delete it from your system as 
well as any copies. The content of e-mails as well as traffic data may be 
monitored by NDS for employment and security purposes. To protect the 
environment please do not print this e-mail unless necessary.

NDS Limited. Registered Office: One London Road, Staines, Middlesex, TW18 4EX, 
United Kingdom. A company registered in England and Wales. Registered no. 
3080780. VAT no. GB 603 8808 40-00
**************************************************************************************

_______________________________________________ rules-users mailing list 
rules-users@lists.jboss.org<mailto: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

Reply via email to