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