2013-08-19 126 views
6

我使用的數據記錄爲我寫的應用程序的數據庫後端的考慮,因爲我看到的潛力,讓我表示之間輕鬆切換,而不必犧牲我收集的數據或寫繁瑣的遷移。數據記錄模式更改數據

但是,我不能預見我將如何應對不斷變化的數據 - 例如像用戶可更改的密碼一樣簡單。我有一個想法帶有日期標記行:

changepassword(<user>, <passhash>, <date>) 

,然後使用最新的,但似乎沒有成爲一種方式來獲得最新的,而無需返回所有行和過濾他們在應用端。

如何應用數據記錄,旨在處理不斷變化的數據?

回答

3

如果你看http://c2.com/cgi/wiki?QueryLanguageComparison你會發現由於傳遞關係和遞歸查詢,Datalog沒有能力執行聚合,min,max,top N等等。

從本質上講,你會做任何聚集等,在應用層,這是很不理想。

但是,至少有一種產品(我必須承認我沒有使用過或詳細瞭解過),這些產品擴展了Datalog語法:Datomic,查看「聚合返回單一值」部分。