У меня есть проект, который вычисляет количество «статистических данных» об эффективности пользователей, а затем показывает их им. Все эти статистические данные в конечном итоге поступают из большой таблицы «взаимодействий», которая фиксирует взаимодействие пользователей с сайтом. На данный момент все эти статистические данные рассчитываются путем просмотра этих данных. Мы активно используем постоянное кэширование, чтобы все шло быстро.
Мы рассматриваем возможность перехода к «итеративному дизайну», в котором статистические значения хранятся в БД, и после регистрации каждого взаимодействия мы обновляем значения в зависимости от того, какой вклад вносит вклад в каждый счет, поэтому мы по сути итеративны обновление значений. (сейчас мы просто пачкаем кеш).
Я вижу некоторые проблемы с итеративным дизайном, потому что это означает, что у нас есть эти избыточные, потенциально несинхронизированные данные, хранящиеся в нашей базе данных, это затрудняет добавление новой статистики и требует больше работы для каждого журнала взаимодействия. Преимущества в том, что он упрощает статистический поиск до одного попадания в дб!
Что-то в этом итеративном дизайне вызывает у меня тревогу, но я не могу отрицать потенциальную выгоду, экономящую время. Должен ли я подчиняться этому внутреннему чувству или идти вперед и делать это?