ページのURLだけを収集し、それ以上は何も収集しないWebクローラーを作成することを検討しています(アーカイブプロジェクトの場合)が、結果を保存する適切な方法を見つけるのに問題があります。
要件は、使用されるストレージエンジンが何であれ、数十万のアイテムを処理できること(できれば、必須ではありませんが、各エントリにメタデータを追加する機能を備えていること)、および既存のアイテムを(重複を避けるために)無視できることです。パフォーマンスに大きな打撃を与えました。
私が見たエンジン:
- MySQL:データベースが大きくなるにつれて、既存のアイテムのチェックが大幅に遅くなります。
- SQLite:上記と同じ問題ですが、パフォーマンスがさらに低下します。
- memcacheとRedis:データセットが十分に大きくなり、RAMストレージが実行不可能になる可能性があります。
- MongoDB : Webサイトの説明に基づいて、データセットの大部分がディスクに保存されている場合にパフォーマンスが許容できるかどうかはわかりません。
MongoDBの適合性についてどう思いますか(MongoDBで大規模なデータセットを操作した経験がないため)、この目的のために存在するより優れた(無料の)ストレージエンジンを知っていますか?