2012-02-10 29 views
0

我编写了一个程序,用于抓取网站,处理html页面并将结果存储在MySql数据库中。 “结果”是指html内容,所有与他们的属性和各种错误的链接,以防当抓取工具无法抓取时。我将这个程序用于分析目的。用于存储/访问大量数据的正确解决方案

一切正常,但主要问题是数据占用太多的磁盘空间。对于每个100000个网站(每个网站最多20个网页),我有5个MySQL表,总共大约60 GB的空间,我需要处理20-30多个网站。

当然,我不能在家用电脑上同时处理那么多的数据,而且我只能处理它的小块,这很耗时,效率也不高。

,所以我寻求建议或解决方案来:
1)给关系型数据库确实
2相同的灵活性访问数据),允许数据

回答

2

的智能和高效节能我怀疑不同的存储引擎会比这更有效率 - 如果将所有内容都存储在一个表中,而没有任何索引,并且使用自然主键,则几乎不会发生存储开销,即使添加了一些结构,它仍然应该保留理智。

我的猜测是你的问题是你收集的数据量很大,所以你可能想在存储之前删除你的样本数据的相当部分:例如,你可能想要将页面源代码烧录到一堆的(标准化)的关键字,你可以跳过重内容(图片等)和东西,你不感兴趣(如CSS样式表,JavaScript等)等

+0

我不存储图像,外部js或css内容。而且我无法摆脱HTML内容,因为分析任务可能会改变 - 今天我正在提取关键字,明天我可能不得不做其他任何事情。 – Termos 2012-02-10 16:15:34

相关问题