2013-08-19 2 views
6

수집 한 데이터를 희생하거나 성가신 이전을하지 않고도 쉽게 표현을 전환 할 수있는 잠재력이 있기 때문에 데이터 로그를 사용중인 애플리케이션의 데이터베이스 백엔드로 사용할 것을 고려하고 있습니다.데이터를 변경하기위한 데이터 로그 패턴

그러나 데이터 변경에 어떻게 대처할 수 있는지 예견 할 수 없습니다. 사용자가 변경할 수있는 암호처럼 간단합니다. 나는 날짜 행에 태그를 생각했다 : 다음

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

과 최신을 사용하여,하지만 모든 행을 반환하지 않고, 최신 얻을 수있는 방법이 될 응용 프로그램 측에서이를 필터링없는 것 같다.

데이터 로깅 어플리케이션은 데이터 변경을 어떻게 처리합니까?

답변

3

http://c2.com/cgi/wiki?QueryLanguageComparison을 보면 Transal 관계 및 재귀 쿼리로 인해 Datalog에 집계, 최소, 최대, 상위 N 등을 수행 할 수있는 기능이 없음을 알 수 있습니다.

본질적으로 이상적인 응용 프로그램 계층에서 집계 등을 수행해야합니다.

그러나 이러한 경우 Datalog 구문을 확장하는 제품 (적어도 사용하지 않았거나 자세하게 살펴보아야 함)이 하나 있습니다. Datomic, "단일 값을 반환하는 집계"절을 참조하십시오.