磁盘上的大小多个小文件

时间:2013-03-03 16:19:09

标签: c# windows hard-drive diskspace

  

尺寸:~5mb

     

磁盘大小:~3gb

我们正在使用C#并在数据更改时不断保存数据,所有文件数据都必须在任何给定时间都可访问。基本上,如果某些内容发生变化,该数据必须保存。这就是为什么这么多数据有这么多文件的原因。数据也得到了很大的处理,因此将它们聚集在一起不是一种选择,因为微小的改变会导致大量的数据无缘无故地被保存。这些文件已经包含足够多,只有少量更改才能保存一个冗余。

当然,有一种方法可以绕过文件大小的荒谬扩展,并且仍然保持我们已经实现的可访问性和节省效率。我们需要一种方法将这些文件打包到windows将被认为是单个文件中,但是这样我们就不必在发生变化时重写整个文件。

据我所知,拥有数千个小文件非常奇怪,但出于我们的目的,它大大提高了性能。如果可以避免的话,我们只是不想牺牲一种资源。

注意:文件具有RLE二进制数据,它们不是文本文件。

清晰度更新:5mb-> 3gb = 250mb(50x簇) - > 150gb =问题!

1 个答案:

答案 0 :(得分:6)

数据库正是您所需要的:您可以存储任意数量的微小行/ blob,并且它们将被有效存储。文件系统通常每个文件至少需要一个磁盘集群,这可能是您的规模扩大的原因。数据库不这样做。您也可以要求数据库自行压缩。

有可用的嵌入式和独立数据库。