2013-08-19 158 views
6

我使用的数据记录为我写的应用程序的数据库后端的考虑,因为我看到的潜力,让我表示之间轻松切换,而不必牺牲我收集的数据或写繁琐的迁移。数据记录模式更改数据

但是,我不能预见我将如何应对不断变化的数据 - 例如像用户可更改的密码一样简单。我有一个想法带有日期标记行:

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

,然后使用最新的,但似乎没有成为一种方式来获得最新的,而无需返回所有行和过滤他们在应用端。

如何应用数据记录,旨在处理不断变化的数据?

回答

3

如果你看http://c2.com/cgi/wiki?QueryLanguageComparison你会发现由于传递关系和递归查询,Datalog没有能力执行聚合,min,max,top N等等。

从本质上讲,你会做任何聚集等,在应用层,这是很不理想。

但是,至少有一种产品(我必须承认我没有使用过或详细了解过),这些产品扩展了Datalog语法:Datomic,查看“聚合返回单一值”部分。