文件系统v/s数据库

问题描述:

我的问题是面向方法。我目前正在处理一些项目。所有的项目都将面临大量的数据提取和维护。我的一个项目是在网络爬虫系统上。由于它定义了网页爬行将存储大量的数据。我现在正在维护mysql数据库中的数据。但是我怀疑如果数据库会很大,会发生什么。我不想妥协与系统的速度。 我有2个问题,文件系统v/s数据库

1)将DB时那张脸MySQL的速度问题很大?
2)如果我为每个网站创建单独的文件并将其数据存储在该文件中,该怎么办?它会在速度问题上有所帮助吗?

+0

你看着备用数据库的喜欢的MongoDB或其他文件DB的?我必须对这些问题进行评论的人可能会被一些人的答案彻底淹没,但我会深入研究这些问题,看看你的应用程序的需求是否能够满足这些需求。另外,Mongo有他们自己的“Map-Reduce”功能,我注意到了很棒的查询时间。 – 2013-04-04 17:30:54

+0

嗨Ricky,我还没有使用过这些数据库。他们是否支持PHP?如果你能为Mongo提供任何文档链接,它将会非常有帮助。谢谢。 – 2013-04-05 10:40:09

  1. 只要你正确地优化你的表和查询,你的MYSQL服务器应该能够扩展,只要它被赋予适当的资源,例如RAM/CPU。你也可以考虑使用像memcached这样的工具来缓存你的查询。
  2. 将数据存储在平面文件中会减慢您的web应用程序,并坚持使用数据库。
+1

添加到您的答案,在某些情况下,可能是一个NoSQL数据库(如MongoDB)可能是一个不错的选择。这完全取决于具体的需求和数据的使用情况。不过,平面文件是最糟糕的选择 – Barranka 2013-04-04 17:34:03

一般数据库是建立在性能和与大数据量完全正常。他们甚至对数据进行索引以快速访问,并且对于快速获取数据非常聪明(查询优化)。

因此IMO,如果您不必对数据库执行查询昂贵(很多很多连接)或不得不这样做并不受SQL你是一个关系型数据库完全正常查询。如果你担心磁盘空间,你可以尝试使用PostgreSQL还设有压缩,(让更多的数据可以被保存在内存中有更好的表现)