0

私のチームは設計上の競合に陥っています。私たちは、昨年のすべての株式についてyahooからの履歴データを収集して、ML分析を実行するプロジェクトに取り組んでいます。レイテンシは遅いですが、それがネットワークかウェブスクレイパーかどうかは分かりません。 AWS RDSを使用してデータを保存するように提案しました。これにより、データにすばやくアクセスできます。しかし、チームメンバーは、クラウドにデータを格納してもレイテンシーの問題は解決しないと言いました。私はデータがかなり早くアクセスする方法で整理され格納されるという事実に反論しました。彼は何か他のものに戻って来て、これは続いた。クラウドDBがスクレイパーに比べて追加の速度を提供しないことは本当ですか?もしそうなら、AWSには、データベースが私たち自身のサーバー上にあったかのように、私たちが別のサービスを通じてより速くストアするデータにアクセスできるサービスがありますか?AWSを使用したWebスクレイピングとCloud Storage

クラウドサービスに精通しているわけではありませんが、私はデータベースをかなりよく理解しています。あなたが望むなら、AWSのものをダンボールしてください。私がこれ以上のことを理解するのを助けるかもしれない重複やリンクを私に指摘してください。

答えて

0

AWS RDS上のMySQL DBは、あなた自身がインストールするマシンと同じです。だから、雲の中のという理由だけで、それは違ったり遅くなることはありません。

一部のデータを掻き集めて一度だけ処理すると、その間にDBを導入する必要はありません。しかし、スクレイパーが遅く、スクレイプされたデータを複数回処理する場合は、DBに保管するとレイテンシが改善されます。これは、DB読込みのレイテンシがスクレイピングよりもずっと少ないためです(DBスキーマを正しく設計し、ホストが同じ可用性ゾーンにあるか、少なくともリージョンなどにDBなどがあると仮定して)。

たとえば、ウェブページのスクレイピングに10秒かかり、スクラップしたデータを2回処理すると、DBがない場合は20〜20秒かかります。あなたが約500msの待ち時間を持つDBを持っているなら、11秒しかかかりません。

0

RDSをデータベースとして使用する理由がたくさんありますが、スクレイピングのスピードアップはその1つではありません。ボトルネックではない可能性があります。

長年に渡って多くのスクレーパーを書いていますが、これまでの最大のパフォーマンス向上は、スクレーパーマシンとスクラップしているホストとの間に高速ネットワーク接続を確立し、スクレーピングマシンごとにスクレーパーを使用すると、さらに大きな速度向上が得られます。

ほとんどの時間を費やして、ページを解析してデータベースに保存しないで、結果をあなたに返すためにホスト上で待機しています。

関連する問題