2010-05-25 55 views
0

我存储在SQL Server文档中的varbinary(最大)的Fileds,我使用FILESTREAM可选,当用户有:哪些文件类型值得为远程存储进行压缩(压缩)?对于哪些压缩大小/原始大小比率是<< 1?

(DB_Size + Docs_Size) ~> 0.8 * ExpressEdition_Max_DB_Size 

我目前荏苒的所有文件,反正这是因为文件读/写完成工作是在10年前开发的,其中存储比现在更昂贵。

压缩时的许多文件几乎与原始文件一样大(压缩的pdf大约是原始大小的95%)。无论如何unzipping有一些开销,当我还需要“签入”/更新文件,因为我需要压缩它会变成两次。

所以我想给用户选择是否通过提供一些有意义的默认值来压缩文件类型。对于我的经验,我会给予下列规则:

1)默认邮政编码:TXT,BMP,RTF

2)默认情况下不邮政编码:JPG,JPEG,Microsoft Office文件,打开Office文件,PNG ,tif,tiff

你能推荐其他文件类型吗?最常用的还是其他文件类型?

回答

3

.doc和.mdb文件实际上往往压缩得很好,如果我没有记错的话。虽然Office 2007等效(.docx和.accdb)已经是zip文件了...所以压缩它们几乎没有用处。

不要忘记HTML和XML文件。邮编默认。

+0

感谢您的回答。我不知道Doc2007,好主意。我也想到了一个可以进行统计的工具:所以我循环遍历所有的文档并逐个解压缩,并检查压缩比。我会对文件类型进行平均处理,对于那些超出特定阈值的用户,我将进行压缩处理。 – LaBracca 2010-05-25 09:32:23

1

我推荐你能够识别什么是和不是压缩文件类型。您可能已经理解了这一点,但我会在此咆哮:

请勿将压缩方法双倍化!每种压缩方法都会添加自己的头文件以增加文件大小,并且由于数据已经尽可能地消除了统计冗余,因此可能无法通过其他方法进一步压缩。以这组文件为例:

46,494,380 level0.wav 
43,209,258 level1.wav.zip 
43,333,266 level2.wav.zip.rar 
43,339,894 level3.wav.zip.rar.gz 
43,533,989 level4.wav.zip.rar.gz.bz2 

所有这些文件包含相同的数据。

第一种压缩方法很好地消除了冗余,但是每个连续的压缩方法只是添加到文件大小,更不用说后面解密文件的头痛问题。

最好的压缩方法通常是第一种应用。

28,259,406 level1.wav.flac   <~ using a compression method meant for the file. 
+0

谢谢你。 “删除”wav和“压缩”txt文件的想法非常好,在我的应用程序中它确实没有任何意义,因为人们主要使用pdf/Office/txt /图像,因此所有这些压缩与zip/rar算法。无论如何,在gerenal你的答案是非常合适的,可以用于其他用户。在我压缩所有内容之前,我还从我的应用程序中删除了zip和rar文件的压缩文件,现在我改进了这一点。 – LaBracca 2010-05-31 07:45:31