Вопрос к знатокам баз данных:
Имеется таблица из названия (TEXT) и максимального количества (INTEGER).
Нужно следить за прогрессом заполнения максимального количества каждого строки.
Условно.
TITLE | MAX_COUNT
— | —
A | 100
B | 23
И нужно где-то следить за заполнением A и B (и остальных строк, если они появляются).
Вижу два варианта:
1) Добавить в эту же таблицу столбец Progress и вести подсчеты там.
2) Добавить новую таблицу с прогрессом, в которую будут отдельными строками прилетать прогресс и к чему он относится.
Второй вариант кажется приятнее, т.к. имеется возможность следить за прогрессом куда более подробно, добавить доп. поля для каждого обновления, но что-то внутри меня подсказывает, что это будет дюж тяжело для устройств/серверов, собирать данные для каждой строки каждый раз.
Что если будет миллион объектов на сто тысяч пользователей? Каждый раз придется собирать все данные из исходной таблицы касающиеся этого пользователя, потом по этим данным собирать весь прогресс (которого уже явно куда больше миллиона) касающийся этих данных. Звучит жутко.
Может кто-нибудь развеить страхи или же подсказать более удачный вариант?
+ в идеале, чтобы решение было действительно рабочим как с SQL так и с NoSQL, либо же с какими-то плюсами/минусами, ибо пока нет ясности с каким вариантом работать.