SQL Server 2008中的数据压缩功能
2008-12-17 10:16:22 来源:WEB开发网SQL Server 2005 SP2为我们带来了vardecimal功能,这项功能使得原来定长的decimal数据在数据文件中以可变长的格式存储,据称这项功能可以为典型的数据仓库节省30%的空间,而SQL Server 2008在这一基础上又进一步增强了数据压缩功能。SQL Server 2008现在支持行压缩和页面压缩两种选项,数据压缩选项可以在以下对象上启用:
未创建聚簇索引的表
创建聚簇索引的表
非聚簇索引(对表设置压缩选项不会影响到该表上的非聚簇索引,因此聚簇索引的压缩需要单独设置)
索引视图
分区表和分区索引中的单个分区
为什么需要数据压缩
首先可能需要讨论的问题就是为什么在存储成本不断降低的今天,微软还要煞费苦心地在SQL Server中实现并且不断改进数据压缩技术呢?
尽管存储成本已经不再是传统意义上的首要考虑因素,但是这并不代表数据库尺寸不是一个问题,因为数据库尺寸除了会影响到存储成本之外,还极大地关联到管理成本和性能问题。
首先我们来讨论为什么会有管理成本的问题?因为数据库需要备份,数据库的尺寸越大,那么备份时间就会越长,当然另外一点就是消耗的备份硬件成本也会随之提高(包括需要的备份介质成本和为了满足备份窗口而需要更高级的备份设备带来的采购成本),还有一种管理成本就是数据库的维护成本,例如我们经常需要完成的DBCC任务,数据库尺寸越大,我们就需要更多的时间来完成这些任务。
接着我们再看看性能问题。SQL Server在扫描磁盘读取数据的时候都是按照数据页为单位进行读取的,因此如果一张数据页中包含的数据行数越多,SQL Server在一次数据页IO中获得的数据就会越多,这样也就带来了性能的提升。
最后考虑存储的成本,按照原先SQL Server 2005 SP2中vardecimal的压缩数据为例,30%的空间节省也就意味着30%的存储成本,而按照SQL Server 2008当前放出的测试数据,采用新的数据压缩技术可以达到2X-7X的存储率,再加上如果企业要考虑容灾而增加的存储空间,这样节省的存储硬件成本也将是想当可观的。
- ››SQL Server 2008 R2 下如何清理数据库日志文件
- ››数据中心合理布线的10个技巧
- ››sqlite 存取中文的解决方法
- ››SQL2005、2008、2000 清空删除日志
- ››SQL Server 2005和SQL Server 2000数据的相互导入...
- ››sql server 2008 在安装了活动目录以后无法启动服...
- ››sqlserver 每30分自动生成一次
- ››sqlite 数据库 对 BOOL型 数据的插入处理正确用法...
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
更多精彩
赞助商链接