0

我的团队遇到了设计冲突。我们正在研究一个项目,该项目涉及从雅虎去年的所有股票的历史数据去年运行一些ML分析。延迟非常缓慢,不确定它是网络还是网络刮板。我建议我们使用AWS RDS来存储数据,以便我们可以更快地访问它。但是,一位团队成员表示,将数据存储在云中并不能解决我们的延迟问题。我反驳说,数据的组织和存储将以更快的速度访问数据。他带着其他东西回来了,并且继续。与刮板相比,云数据库不会提供额外的速度吗?如果AWS提供的服务允许我们访问通过另一项服务更快速存储的数据,就好像数据库位于我们自己的服务器上一样?使用AWS的网页抓取与云存储

我不是那么都熟悉云服务,但我确实很了解数据库。因此,如果您愿意并且随意指向我的任何重复或链接,可能会帮助我更好地理解这些内容,请将AWS的内容贬低。

回答

0

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

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

例如,如果抓取网页需要大约10秒的时间,并且您处理了两次刮取的数据,如果您没有数据库,则需要20秒。如果你的数据库有500毫秒的延迟,你只需要11秒。

0

将RDS用作数据库的很多好理由,但加速抓取并不是其中之一 - 它可能不是您的瓶颈。

多年来我写了大量的刮板,到目前为止最大的性能提升将是在刮板机和您正在刮的主机之间建立快速的网络连接,即使如此,使用多点每台刮板机的螺纹刮刀将为您带来巨大的速度提升。

大部分时间都在等待主机向您返回结果,而不是解析页面并且不将数据库保存到数据库。