May salivate over data stored in a relational database (e.g. using HIbernate)

I need to get the application using drooling, but DROOLS doesn't seem to be able to reason on a large number of objects at the same time. I want to know if he can talk about data stored in a relational database, and not in a workmemory.

thanks for any help :)

+8
relational-database hibernate rule-engine drools
source share
1 answer

Your question is pretty broad. The answer is to find out the data, if you are not working with stored procedures, any application (drooling or not) will have to load the data into the JVM. Then the data can be added to the Drools application in working memory (note that this does not cause any copy operations, since drool works with standard POJO applications as facts), or they can be obtained on demand according to the rules, using "from "conditional element. Hibernate also uses POJOs, and Drools have no problems with them.

"DROOLS cannot reason over a large number of objects at once"

Not sure what you mean by that? how much is a large number? I personally worked with several applications with saliva, which used more than a million facts simultaneously in each instance of working memory with an average response time to execute the rule in the order of 100 ms. Here you can see the presentation of the consultant who worked on the project, where the rules were to request and analyze data for more than 30 million records in real time: http://vimeo.com/27209589 . For this, he used the noSQL database.

Larger applications will require more caution when designing the architecture, of course, but this is true for Drools, as well as for any technology. If you tell us in detail about your use case, we can give you more specific advice. We also recommend checking out the Drools mailing list, as there are tons of good tips for designing the app.

Hope this helps clarify.

+5
source share

All Articles