【发布时间】:2009-06-26 21:25:34
【问题描述】:
就性能和效率而言,使用大量小文件(我的意思是几百万个)还是几个(十个左右)大(几千兆字节)文件更好?假设我正在构建一个数据库(不完全正确,但重要的是它会被大量访问)。
我主要关心读取性能。我的文件系统目前是 Linux 上的 ext3(如果重要的话,是 Ubuntu 服务器版),尽管我处于仍然可以切换的位置,所以不同文件系统之间的比较会很棒。由于技术原因,我不能为此使用实际的 DBMS(因此提出了问题),所以“只使用 MySQL”不是一个好的答案。
提前致谢,如果我需要更具体的,请告诉我。
编辑:我将存储大量相对较小的数据,这就是为什么使用大量小文件对我来说更容易的原因。因此,如果我使用一些大文件,我一次只能从中检索几个 KB。我也会使用索引,所以这不是一个真正的问题。此外,一些数据指向其他数据片段(在很多小文件的情况下它会指向文件,在大文件的情况下会指向数据在文件中的位置)。
【问题讨论】:
-
信息越模糊,你得到的就越多,“这取决于”
-
那么我应该添加哪些其他信息?我想不出还有什么对这个问题有益的东西。
-
此数据的访问配置文件有很大的不同。您要读取大量数据吗?某些数据是否相关且最有可能一起访问?在某些时候,最好使用数据库而不是大量小文件,除非您正在做一些简单的事情,比如通过 http 为它们提供服务,而且它需要非常快。
-
你考虑过固态硬盘吗?
-
@Lucas:不,我没有。那会改变什么?
标签: file filesystems performance filesize