Hi, folks,
I recently did a benchmark on Drools 5.1.2
and noticed that data insert into a stateful session is very time consuming. It
took me about 30 minutes to insert 10,000 data rows on a 512M heapsize JVM.
Hence I have to keep inserting data rows when I receive them and keep them in
working memory, rather than loading them in a batch at a given time. This is
not a friendly way for disaster recovery and I have two questions here to see
if anybody has any thoughts:
1.
Is there any better way to
improve the performance of data insert into a stateful session;
2.
I noticed that there is a
method called BatchExecution() for a stateless session. Did not get a chance to
test it yet but is this a better way to load data in a batch and then run
rules?
My requirement is I need to load a batch of
data once by end of the day, and then run the rules to filter out matched data
against unmatched data. I have a 3-hour processing window to complete this
loading and matching process, and the data I need to load is about 1 million to
2 millions. My JVM heapsize can be set up to 1024 M.
Best regards
Abe