Database Web抓取与使用AWS的云存储

Database Web抓取与使用AWS的云存储,database,amazon-web-services,database-design,web-scraping,rds,Database,Amazon Web Services,Database Design,Web Scraping,Rds,我的团队遇到了设计冲突。我们正在进行一个项目,该项目涉及从雅虎收集去年所有股票的历史数据,以便对其进行ML分析。延迟慢得令人无法忍受,不确定是网络还是网络刮板。我建议我们使用AWS RDS来存储数据,这样我们可以更快地访问数据。然而,一位团队成员表示,将数据存储在云中并不能解决我们的延迟问题。我反驳说,数据的组织和存储方式将大大加快数据的访问速度。他带着别的东西回来了,事情还在继续。与scraper相比,clouddb不会提供任何额外的速度,这是真的吗?如果是这样的话,AWS是否有一个服务可以让

我的团队遇到了设计冲突。我们正在进行一个项目,该项目涉及从雅虎收集去年所有股票的历史数据,以便对其进行ML分析。延迟慢得令人无法忍受,不确定是网络还是网络刮板。我建议我们使用AWS RDS来存储数据,这样我们可以更快地访问数据。然而,一位团队成员表示,将数据存储在云中并不能解决我们的延迟问题。我反驳说,数据的组织和存储方式将大大加快数据的访问速度。他带着别的东西回来了,事情还在继续。与scraper相比,clouddb不会提供任何额外的速度,这是真的吗?如果是这样的话,AWS是否有一个服务可以让我们通过另一个服务更快地访问存储的数据,就像数据库在我们自己的服务器上一样


我对云服务不是很熟悉,但我对数据库非常了解。因此,如果您愿意,请将AWS的内容隐藏起来,并随时向我指出可能有助于我进一步理解这一点的任何副本或链接。

AWS RDS上的MySQL数据库将与您在某些机器上安装的数据库相同。因此,它不会因为在云中而变得不同或更慢

如果您刮取一些数据并只处理一次,那么在这两者之间引入DB是没有意义的。但是,如果您的scraper速度很慢,并且您多次处理刮取的数据,那么将其存储在数据库中应该可以提高延迟。这是因为DB读取的延迟将比刮取的延迟小得多(假设您正确地设计了DB模式;您的主机与您的DB处于相同的可用性区域,或者至少是相同的区域,等等)


例如,如果抓取一个网页需要约10秒,而您需要处理两次抓取的数据,那么如果您没有数据库,则需要约20秒。如果你有一个延迟约500毫秒的数据库,你只需要11秒。

使用RDS作为数据库有很多很好的理由,但是加快抓取速度不是其中之一,它可能不是你的瓶颈

多年来,我写了很多刮刀,到目前为止,最大的性能提升将是在刮刀机和正在刮刀的主机之间建立快速网络连接,即使如此,在每台刮刀机上使用多线程刮刀也会给您带来另一个巨大的速度提升

抓取花费的大部分时间是等待主机将结果返回给您,而不是解析页面,也不是将数据库保存到数据库