【IT168 技术】SQL Server的数据压缩技术在SQL Server 2008中得到了显著增强。SQL Server数据压缩技术最早出现在SQL Server 2005 SP2中,开始只是提供了对VARDECIMAL储存格式的数据进行压缩。工作原理就是当实际输入的数据小于储存位置的占用时,将压缩掉多余的空白部分。在SQL Server 2008中增加了减小数据库大小的本机压缩技术。
支持压缩的版本:SQL Server 2008 Enterprise和SQL Server 2008 Developer。
下面将介绍一下技术的设计初衷和关于压缩技术增强的部分。
在SQL Server中,我们为什么需要压缩技术?
基于磁盘空间成本考虑
这是SQL Server数据压缩技术的主要设计出发点之一。如果我们可以对数据库中的资料进行压缩,那么就可以大量的节省储存数据的空间,这样就降低了用于储存的硬件花费。也许大家都会想,现在硬盘越来越便宜了,这个技术完全没有必要。可你有没有想过将整个服务器环境迁移到固态硬盘上,对于这种类型的硬盘来讲这可是笔不菲的花销。
除此之外,用于备份的空间占用也将减小,这又将节省很多的储存空间。
图1 储存空间的节省
低磁盘I/O
压缩数据存储量的同时也将降低了磁盘I/O。当储存空间的大小被显著的压缩之后,对于磁盘的读写频率也将降低。
图2 降低了磁盘I/O
便于数据库的维护
数据库中的数据被有效压缩对于重建和重组数据库是很有帮助的,可以节省大量的时间。
压缩前
==================
SQL Server Execution Times:
CPU time = 1904 ms, elapsed time = 4323 ms.
压缩后
==================
SQL Server Execution Times:
CPU time = 6880 ms, elapsed time = 3663 ms.
节省内存占用率
当对数据库进行检索的时候,数据会以压缩的形式存在于缓存中。因此大大节省了物理内存的占用率。
比NTFS格式强
NTFS只能压缩数据文件,不能够压缩数据表格。
让我们通过一张图片直观的了解一下SQL Server家族压缩技术的进步吧。
图3 SQL Server家族压缩技术的进步