В настоящее время я пишу сканер для веб-сайтов (использую инфраструктуру Python scrapy ).
Недавно мне пришлось внедрить систему паузы / возобновления.
Решение, которое я реализовал, является самым простым и, в основном, сохраняет ссылки, когда они запланированы, и помечает их как «обработанные», как только они на самом деле.
Таким образом, я могу получить эти ссылки (очевидно, что при возобновлении паука хранится немного больше, чем просто URL, значение глубины, домен, к которому относится ссылка и т. Д.), И пока все работает хорошо.
Прямо сейчас, я только что использовал таблицу mysql для выполнения этих действий с хранилищем, в основном для быстрого прототипирования.
Теперь я хотел бы знать, как я мог бы оптимизировать это, поскольку я считаю, что база данных не должна быть единственной возможностью, доступной здесь. Под оптимизацией я подразумеваю использование очень простой и легкой системы, в то же время имея возможность обрабатывать большое количество данных, записанных за короткое время
На данный момент он должен иметь возможность обрабатывать сканирование для нескольких десятков доменов, что означает хранение нескольких тысяч ссылок в секунду ...
Заранее спасибо за предложения