2011-06-10 23 views
8

是否有生產規則系統的任何實現運行out of core超出核心規則引擎

我已經簽出的開源實現像CLIPSJess,但這些只在內存中運行,所以他們很容易崩潰或強制重磁盤交換在數十億美元的大量事實和規則(例如運行時/萬億)。

我正在玩的想法,可能使用Django的ORM移植一個簡單​​的規則引擎,如Pychinko到SQL後端。但是,支持CLIPS中的功能級別將非常重要,我不想重新發明輪子。

是否有擴大生產規則系統的選擇?

+7

「擴大生產規則系統是否有其他選擇?」是的,更多的RAM! – 2011-06-10 20:44:23

+1

給算法一些額外的RAM並修復它一天。將算法更改爲不使用RAM並永久修復它。 – Cerin 2011-06-10 22:02:06

+1

我的評論當然是口齒不清。我根本不知道你的問題的答案。 – 2011-06-10 22:17:31

回答

1

你可以檢查JENA和類似的RDF規則引擎,這些規則引擎被設計用於非常大的事實數據庫。

+0

耶拿將其規則存儲在內存中。據我所知,所有* RDF規則引擎都是一樣的。大數據庫!=超出核心規則。 – Cerin 2011-06-18 00:56:21

1

這不是直接回答你的問題,但它可能會給你一個問題的線路。

早在80年代和90年代,我們實現了一個信息檢索系統,允許非常大量的常規查詢。具體而言,我們擁有64MB內存的系統(這是當時的,其中有)每天攝取超過100萬條消息,並針對該數據流應用10,000到100,000個常規查詢。

如果我們所做的只是將每個常規查詢與最近的文檔進行迭代應用,那麼我們就會死去。我們所做的是執行一種inversion的查詢,具體標識必須有可能在查詢中有條款。然後,我們使用文檔中的術語列表來查找那些有任何成功機會的查詢。客戶學會了創建具有強大差異性的查詢,因此有時只需要對10或20個查詢進行全面評估。

我不知道你的數據集,我不知道你的規則是什麼樣的,但可能有類似的東西你可以嘗試。