压缩数据库中的数据

时间:2009-04-15 14:07:58

标签: sql-server database compression

鉴于目前我在Google上的(缺乏)调查结果,快速问答可能是一个愚蠢的问题。

我有一个数据库。在这个数据库中有一个带有一些数据的表。数据是一个大型BLOB但无法压缩(出于我无法控制的原因)。

我有一个与此数据库对话的应用程序。我真的希望能够确保在传输过程中压缩数据。

据我了解,数据库提供程序将处理压缩等。

是这样的吗?是否有常见的设置,比如SQL Server启用压缩?

3 个答案:

答案 0 :(得分:2)

对于SQL Server,我找到了this "connect" entry,但没有:我不认为TDS目前是压缩的。你可以(虽然我不喜欢它)使用SQL-CLR在.NET代码中压缩它,但它可能有太多的开销。

我知道在这种情况下它不是一个选项(来自问题),但通常最好以你想要的方式存储BLOB。因此,如果您想要压缩它们,请将它们压缩存储。 SQL不是操作二进制文件的好工具;-p这样的策略也意味着你没有使用供应商特定的功能 - 只是存储不透明的BLOB的能力。

答案 1 :(得分:1)

如果数据库访问层未提供压缩,则可以在数据库服务器和应用程序主机之间设置VPN链接。最严重的VPN解决方案压缩传输中的数据。 OpenVPN是一种简单易用的快速创建隧道的解决方案。数据在传输过程中被压缩。可能不会像本机压缩那样高效,但它是一种可能的解决方案。并且您可以免费获得加密:)。

答案 2 :(得分:0)

SQL Server 2008是第一个本机支持压缩备份的SQL Server版本。在2008年之前,您需要使用第三方产品。