磁盘上的大小多个小文件

Gri*_*bly 1 c# windows diskspace hard-drive

尺寸:~5mb

磁盘大小:~3GB

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

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

我知道拥有数千个小文件非常奇怪,但就我们而言,它大大提高了性能.如果可以避免的话,我们只是不想牺牲一种资源.

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

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

usr*_*usr 6

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

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