@BushaevDenis

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

Как будет правильно хранить большой объём данных парсинга, например у меня есть 5 тысяч ссылок, в каждой из которых таблица в 5 колонок, 5000 строк.
И каждую ссылку нужно будет парсить раз в n-дней, и сохранять результат не удаляя старый.
Т.е в итоге получится очень и очень много данных.
Как правильно будет хранить все эти данные?
  • Вопрос задан
  • 622 просмотра
Пригласить эксперта
Ответы на вопрос 2
Наверно нужно применять тот же подход, что и в системах контроля версий. Тогда каждый результат одного 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 недели

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

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

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

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

Войти через центр авторизации
Похожие вопросы