Rxd
@Rxd

Как эффективно хранить историю изменений атрибута в БД?

Есть таблица, в которой должно находиться около 100к записей. И для каждой записи должна быть реализована возможность просмотра изменений некого атрибута (цены) за последний час, два, день, неделю...
(Для примера : средняя цена час назад ***, средняя за неделю ***, за месяц ***)
Измеряются значения атрибута примерно раз в минуту. Как можно это реализовать эффективно? Возможно ли обойтись без создания дополнительных столбцов со значениями цены во время последних измерений? В общем, надеюсь на вашу поддержку :)
Что-то вроде этого:
bB0RxAJnk0iozKIUjD3RvQ.jpg
  • Вопрос задан
  • 1371 просмотр
Пригласить эксперта
Ответы на вопрос 2
gibson_dev
@gibson_dev
Создать отдельную таблицу, в которой хранить дату, id товара и цену. А писать туда либо в приложении либо тригерами
Ответ написан
Комментировать
riky
@riky
Laravel
лучше через редис.
хранить там списки всех изменений за час.

ps
только учитывайте что, если цена в течение часа была сначала 100р потом 110р потом 90р а потом 200р то это не значит что средняя цена за час была 125р. нужно учитывать еще и длительность таких периодов.
может быть было так что
1 минута - 100
2 минута - 110
3 минута - 90
4-60 минута - 200
итого средняя цена около 199

хотя в вашем случае это может быть не критично.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы