0

我的團隊遇到了設計衝突。我們正在研究一個項目,該項目涉及從雅虎去年的所有股票的歷史數據去年運行一些ML分析。延遲非常緩慢,不確定它是網絡還是網絡刮板。我建議我們使用AWS RDS來存儲數據,以便我們可以更快地訪問它。但是,一位團隊成員表示,將數據存儲在雲中並不能解決我們的延遲問題。我反駁說,數據的組織和存儲將以更快的速度訪問數據。他帶着其他東西回來了,並且繼續。與刮板相比,雲數據庫不會提供額外的速度嗎?如果AWS提供的服務允許我們訪問通過另一項服務更快速存儲的數據,就好像數據庫位於我們自己的服務器上一樣?使用AWS的網頁抓取與雲存儲

我不是那麼都熟悉雲服務,但我確實很瞭解數據庫。因此,如果您願意並且隨意指向我的任何重複或鏈接,可能會幫助我更好地理解這些內容,請將AWS的內容貶低。

回答

0

AWS RDS上的MySQL數據庫將與您在某臺機器上安裝的MySQL數據庫相同。所以,它不會因爲它在雲中的而不同或更慢。

如果你颳了一些數據並只處理一次,那麼在介紹數據庫之間沒有意義。但是,如果你的掃描器速度很慢並且你多次處理了被掃描的數據,那麼將其存儲在數據庫中應該可以提高延遲。這是因爲數據庫讀取的延遲比抓取的延遲要小得多(假設您正確設計了數據庫模式;您的主機與您的數據庫等在相同的可用區域或至少區域中)。

例如,如果抓取網頁需要大約10秒的時間,並且您處理了兩次刮取的數據,如果您沒有數據庫,則需要20秒。如果你的數據庫有500毫秒的延遲,你只需要11秒。

0

將RDS用作數據庫的很多好理由,但加速抓取並不是其中之一 - 它可能不是您的瓶頸。

多年來我寫了大量的刮板,到目前爲止最大的性能提升將是在刮板機和您正在刮的主機之間建立快速的網絡連接,即使如此,使用多點每臺刮板機的螺紋刮刀將爲您帶來巨大的速度提升。

大部分時間都在等待主機向您返回結果,而不是解析頁面並且不將數據庫保存到數據庫。