Я хочу создать приложение, которое позволяет отслеживать элементы и связанные поля.Например, я, возможно, захочу отследить, сколько кофе я выпил, и поэтому я бы создал запись о кофе и мог бы публиковать обновления, такие как 1 чашка кофе, 8 унций, 100 мг кофеина, купленного в определенном месте.и пьяный в такое время.Я также хочу отслеживать каждое обновление, чтобы я мог посмотреть каждое позже.Однако другие элементы, которые я хочу отслеживать, могут иметь совершенно разные поля (например, книги имеют названия и могут быть оценены с точки зрения удовольствия).
Я хочу иметь возможность затем пометить / классифицировать данные, изатем запустите запросы / отчеты по этим данным.Например, я могу захотеть посмотреть, сколько я потратил на еду за определенный промежуток времени.Это будет запрашивать все продукты с тегом еды, фильтровать по полям времени, которые у них есть, и суммировать поля стоимости для всех из них.
Я думал, что смогу сделать это с помощьюнормализованная реляционная база данных со всеми обновлениями элементов в одной таблице.Если бы в эту таблицу были встроены поля по умолчанию, например, те, что я сказал, плюс, возможно, несколько пробелов для дополнительных настраиваемых полей, я думаю, я мог бы делать достаточно быстрые запросы.Один недостаток - добавление нового тега к элементу - копирование множества записей.Это можно было бы исправить, если бы было фиксированное количество столбцов тегов, и новые теги можно было просто добавить, но это ограничило бы количество тегов, которые имел элемент.
Существует ли лучшая модель реляционных данных для этого, которая имеетлучший баланс динамических полей, быстрых запросов и быстрой вставки / модификации?Мне было интересно, есть ли платформа нереляционной базы данных, которая также будет работать лучше.Я посмотрел на графические базы данных и подумал, будет ли это хорошей идеей, поскольку она кажется более динамичной, но я не представляю, что она будет быстрее.