技术开发 频道

简析SQL Server 2008 数据压缩技术改进

  【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家族压缩技术的进步

0
相关文章