Câu hỏi của bạn khá rộng. Câu trả lời là để lý do trên dữ liệu, trừ khi bạn đang làm việc với các thủ tục được lưu trữ, bất kỳ ứng dụng nào (drools hay không) sẽ cần tải dữ liệu vào JVM. Sau đó, dữ liệu trong ứng dụng Drools được chèn vào bộ nhớ làm việc (xin lưu ý rằng điều này không gây ra bất kỳ thao tác sao chép nào khi drools làm việc với POJO ứng dụng chuẩn) hoặc có thể tìm nạp theo yêu cầu theo quy tắc sử dụng " từ "yếu tố có điều kiện. Hibernate cũng sử dụng POJOs và Drools không có vấn đề gì với chúng.
"chảy nước miếng không thể lý luận trên một số lượng lớn của các đối tượng cùng một lúc"
Không chắc chắn những gì bạn có nghĩa là bằng cách đó? số lượng lớn là bao nhiêu? Cá nhân tôi đã làm việc với một vài ứng dụng drools sử dụng hơn một triệu sự kiện cùng một lúc trong mỗi bộ nhớ làm việc, với thời gian đáp ứng trung bình cho việc thực hiện quy tắc theo thứ tự 100 giây. Ở đây bạn có thể thấy một bài thuyết trình của một nhà tư vấn đã làm việc trên một dự án mà các quy tắc phải truy vấn và lý do về dữ liệu lịch sử của hơn 30 triệu bản ghi trong thời gian thực: http://vimeo.com/27209589. Ông đã sử dụng một cơ sở dữ liệu noSQL cho điều đó.
Các ứng dụng lớn sẽ cần được chăm sóc nhiều hơn trong khi thiết kế kiến trúc, tất nhiên, nhưng điều này đúng với Drools cũng như cho bất kỳ công nghệ nào. Nếu bạn nêu chi tiết trường hợp sử dụng của mình, chúng tôi có thể cung cấp cho bạn lời khuyên cụ thể hơn. Cũng khuyên bạn nên kiểm tra danh sách gửi thư của Drools vì có rất nhiều lời khuyên tốt cho thiết kế ứng dụng ở đó.
Hy vọng nó sẽ giúp làm rõ.
Nguồn
2012-04-03 19:16:34
Loại liên quan: http://stackoverflow.com/questions/8509993 –
cảm ơn bạn đã liên kết hữu ích – fennou
Bạn có muốn Drools lưu dữ liệu không, thay vì hoàn toàn trong bộ nhớ? Và để minh bạch lý do trên một lớp kiên trì và lưu kết quả lại cho nó? – aitchnyu