Ihre Frage ist sehr breit. Die Antwort besteht darin, Daten zu überdenken, es sei denn, Sie arbeiten mit gespeicherten Prozeduren. Jede Anwendung (Drools oder nicht) muss die Daten in die JVM laden. Die Daten können dann in einer Drools-Anwendung in den Arbeitsspeicher eingefügt werden (bitte beachten Sie, dass dies keine Kopiervorgänge verursacht, da Drools mit Standard-Anwendungs-POJOs als Fakten arbeiten) oder sie können auf Anforderung durch Regeln abgerufen werden, die den " von "bedingtem Element. Hibernate verwendet auch POJOs und Drools hat keine Probleme mit ihnen zu arbeiten.
„geifert nicht eine große Anzahl von Objekten, die Vernunft über gleichzeitig“
nicht sicher, was Sie damit meinen? Wie viel ist eine große Zahl? Ich persönlich habe mit ein paar Drools-Anwendungen gearbeitet, die über eine Million Fakten gleichzeitig in jedem Arbeitsspeicher verwendet haben, mit einer durchschnittlichen Antwortzeit für die Regelausführung in der 100 ms-Reihenfolge. Hier sehen Sie eine Präsentation eines Beraters, der an einem Projekt gearbeitet hat, bei dem Regeln historische Daten von über 30 Millionen Datensätzen in Echtzeit abfragen und begründen mussten: http://vimeo.com/27209589. Er verwendete dafür eine NoSQL-Datenbank.
Große Anwendungen erfordern natürlich mehr Sorgfalt beim Entwurf der Architektur, aber das gilt für Drools ebenso wie für jede andere Technologie. Wenn Sie Ihren Anwendungsfall detailliert beschreiben, können wir Ihnen genauere Ratschläge geben. Empfehlen Sie auch, die Drools-Mailingliste zu überprüfen, da es eine Menge guter Ratschläge für das Anwendungsdesign gibt.
Hoffe es hilft zu klären.
Art der verwandten: http://StackOverflow.com/Questions/8509993 –
Vielen Dank für den nützlichen Link – fennou
Möchten Drools Daten beibehalten, anstatt vollständig in-Speicher? Und um eine Persistenzschicht transparent zu überdenken und Ergebnisse zu speichern? – aitchnyu