2012-01-05 3 views
1

Я работаю над jraw-based crawler. Я хочу иметь функциональность резюме в моем искателе, где пользователь может приостановить сканирование в любой момент, когда он захочет, и в случае сбоя какого-то искателя он должен будет запустить предыдущий сканирование с того места, где остановился искатель.DB System for Crawler Application

Для этой цели я должен хранить всю исходящую связь (ссылку, найденную на любой странице) в базе данных. Я не уверен, какая база данных лучше всего подходит для такой системы, поскольку она требует очень быстрой вставки и восстановления ссылок из базы данных, а частота вставки и повторной загрузки будет очень высокой.

Мало кто предложил мне no-sql, как mongodb, но я просто хочу убедиться, что это лучший выбор для таких систем.

ответ

2

crawler4j - это искатель java, который также поддерживает функцию возобновления. Итак, если вы просто хотите иметь сканер, я предлагаю использовать его. Но если вам нужно интегрировать эту функциональность в свой собственный искатель, я предлагаю Berkeley DB. Это очень эффективное хранилище на основе ключа. Вы можете проверить исходные коды crawler4j, чтобы узнать, как он использует Berkeley DB для очень быстрого хранения и поиска URL-адресов, которые необходимо сканировать.