Twoje pytanie jest dość szeroki. Odpowiedź brzmi: aby zrozumieć dane, chyba że pracujesz z procedurami przechowywanymi, każda aplikacja (drools lub nie) będzie musiała załadować dane do maszyny JVM. Dane mogą następnie zostać wstawione do pamięci roboczej w aplikacji Drools (należy pamiętać, że nie powoduje to żadnych operacji kopiowania, ponieważ drools działa ze standardowymi POJO jako faktami) lub może być pobrane na żądanie według reguł, używając " z "elementu warunkowego. Hibernate wykorzystuje także POJO i Drools, które nie mają problemów z pracą z nimi.
„ślini nie można rozumieć na dużą liczbę obiektów jednocześnie”
Nie wiem, co masz na myśli? ile jest dużej liczby? Osobiście pracowałem z kilkoma aplikacjami drools, które wykorzystywały ponad milion faktów jednocześnie w każdym wystąpieniu pamięci roboczej, ze średnim czasem odpowiedzi na wykonanie reguły w porządku 100 ms. Tutaj możesz zobaczyć prezentację konsultanta, który pracował nad projektem, w którym reguły musiały wyszukiwać i analizować dane historyczne z ponad 30 milionów rekordów w czasie rzeczywistym: http://vimeo.com/27209589. Wykorzystał do tego bazę danych noSQL.
Duże aplikacje będą wymagały więcej uwagi przy projektowaniu architektury, oczywiście, ale dotyczy to zarówno Drools, jak i każdej technologii. Jeśli szczegółowo określisz przypadek użycia, możemy udzielić Ci bardziej szczegółowych porad. Zalecamy również sprawdzenie listy mailingowej Drools, ponieważ jest tam mnóstwo dobrych wskazówek dotyczących projektowania aplikacji.
Mam nadzieję, że pomoże to wyjaśnić.
Podobne informacje: http://stackoverflow.com/questions/8509993 –
dziękuję za przydatne łącze – fennou
Czy chcesz, aby Drools utrzymywał dane, zamiast być w pełni w pamięci? Czy w sposób przejrzysty przeniknąć warstwę uporczywości i zapisać w niej wyniki? – aitchnyu