@BushaevDenis

Как правильно хранить данные парсинга на сайте?

Как будет правильно хранить большой объём данных парсинга, например у меня есть 5 тысяч ссылок, в каждой из которых таблица в 5 колонок, 5000 строк.
И каждую ссылку нужно будет парсить раз в n-дней, и сохранять результат не удаляя старый.
Т.е в итоге получится очень и очень много данных.
Как правильно будет хранить все эти данные?
  • Вопрос задан
  • 629 просмотров
Пригласить эксперта
Ответы на вопрос 2
2ord
@2ord
Наверно нужно применять тот же подход, что и в системах контроля версий. Тогда каждый результат одного URL можно обновлять (commit), не затирая предыдущего. При этом место в БД будет увеличиваться на дельту (diff).
Ответ написан
Комментировать
igruschkafox
@igruschkafox
Специалист по сопровождению БД MS SQL
5000 * 5000 = 25 000 000

раз в день обновляем все ссылки
25 000 000 * 365 = 9 125 000 000 000 в год

Да, для одной таблицы это пожалуй многовато
Рекомендую поступить так
хранить данные в двух таблицах
в первой 25 000 000
во второй (архивной) все записи которые были раньше - до обновления
то есть вся история изменений у Вас будет во второй таблице
Соответственно секционировать архивную таблицу примерно по 2 недели

Таким образом Вы добьетесь что актуальные данные будут доставаться быстро
Архивные подольше - но это и понятно

Потом данные за прошлые периоды можно бэкапить оставляя только последние записи изменений (например хранить в архиве только данные за полгода)

В случае необходимости - всё можно достать и посчитать,
но практика говорит что такие бешеные объемы если и доставать то они считаться будут очень долго, а ввиду давности времени зачастую бывают неактуальны. По прошлогодним ссылкам явно никто аналитику проводить не будет.
Ответ написан
Ваш ответ на вопрос

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

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