【发布时间】:2015-04-08 09:43:49
【问题描述】:
我有一个 Java 应用程序,它是一种网络爬虫。它解析了很多,我们称之为 - 行。关键是,在抓取网页时,检查在某个页面上找到的行是新的还是旧的(此时我对 MySQL 数据库进行查询以检查它是否存在于其中)。如果它是新的,我将它放到一个单独的数组中并执行另一个查询以将该行添加到数据库中,因此在进行下一次抓取时,该行可以被识别为旧行。问题是,该网页大约有 90,000 行这样的行,并且性能很慢。有时 MySQL 服务器甚至崩溃。
我想听听你的意见,我应该选择以下哪个选项(或者其他选项):
- 选择其他 DBMS,如 MongoDB 或其他?
- 不要将行放入数据库,而是使用一些缓存解决方案? (那有什么解决方案呢?)
非常感谢!
【问题讨论】:
-
你能告诉我们你的代码吗?这样也许能给你一个更好的答案
标签: java mysql caching web bigdata