Шаблоны журнала данных для изменения данных

Я рассматриваю возможность использования журнала данных в качестве серверной части базы данных для приложения, которое я пишу, потому что я вижу возможность легкого переключения между представлениями без необходимости жертвовать собранными данными или писать громоздкую миграцию.

Однако я не могу предвидеть, как я буду справляться с изменением данных - например. что-то столь же простое, как изменяемый пользователем пароль. У меня была идея пометить строки датой:

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

а затем используйте последнюю версию, но, похоже, нет способа получить последнюю версию, не возвращая все строки и не фильтруя их на стороне приложения.

Как приложения регистрации данных предназначены для обработки изменяющихся данных?


person luqui    schedule 19.08.2013    source источник


Ответы (1)


Если вы посмотрите на http://c2.com/cgi/wiki?QueryLanguageComparison, вы увидите что Datalog не имеет возможности выполнять агрегирование, минимальное, максимальное, верхнее N и т. д. из-за транзитивных отношений и рекурсивных запросов.

По сути, вам придется выполнять любую агрегацию и т. Д. На прикладном уровне, что далеко от идеала.

Однако есть по крайней мере один продукт (который, должен признаться, я не использовал и не изучал подробно), который расширяет синтаксис Datalog для этих случаев: Datomic найдите раздел "Агрегаты, возвращающие одно значение".

person Andrew not the Saint    schedule 22.08.2013