由于在大数据集中常常会出现扩展问题,微软公司即将推出的SQL Server 2012中大部分针对扩展性和容量管理的新功能都定位专门处理大负载:数据仓库,商业智能(BI)和决策支持应用程序。把这样一些应用程序整合到一起是相当辛苦的,而维护它们的数据结构就更困难了。 列存储索引 列存储索引被标榜为SQL Server 2012中最大的可扩展性改进,现在社区技术预览(CTP)中已经可用了。列存储索引为每个列把数据打包到磁盘页的独立集合中。
这是相对于传统的每页存储多行的方法而言的。 微软公司宣称使用这种新的索引方法有几个优势。举例来说,存储列这种方式使得计算特殊查询需要的列能轻松快速地提取……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
由于在大数据集中常常会出现扩展问题,微软公司即将推出的SQL Server 2012中大部分针对扩展性和容量管理的新功能都定位专门处理大负载:数据仓库,商业智能(BI)和决策支持应用程序。把这样一些应用程序整合到一起是相当辛苦的,而维护它们的数据结构就更困难了。
列存储索引
列存储索引被标榜为SQL Server 2012中最大的可扩展性改进,现在社区技术预览(CTP)中已经可用了。列存储索引为每个列把数据打包到磁盘页的独立集合中。这是相对于传统的每页存储多行的方法而言的。
微软公司宣称使用这种新的索引方法有几个优势。举例来说,存储列这种方式使得计算特殊查询需要的列能轻松快速地提取。这是因为该索引压缩了数据,平均来看列比整个行更冗余,因此可压缩性也更高。磁盘访问模式和缓冲允许数据被更加快速地提取和保留。在给定表中存在的列越多,或者你计划添加到给定表中的列越多,列索引给表带来的扩展效果就越好。
从扩展性的角度来看,优点是很明显的。你可以给数据库扩充容量,而无需担心这会对BI查询(查询的数据可能达到数十亿行)性能造成影响。微软公司自己前期工作发现,请求巨量行数据的各种查询订单程数量级激增,这跟你手头的数据类型有关。
需要说明的一点是,一旦你给表增加了列存储索引,它就变成只读的了。具体来说,你不能使用“Insert,Update,Delete”或者“Merge”语句,也不能使用批量操作添加数据。我猜这是避免列存储索引被重复更新的一种手段,进而避免损失摆在首位的性能优势。
如果你需要在没有列存储索引的情况下运行查询(例如,判断净性能增益),你可以在T-SQL查询中使用“IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX”选项,从该选项的名称也可以看出,微软公司已经计划推出集群的列存储索引。
作者
Serdar Yegulalp从1994年到2001年为Windows杂志写作,覆盖了广泛的技术方面。他现在是《The Windows 2000 Power Users Newsletter》一书的出版者,辛勤钻研他擅长的Windows NT, Windows 2000 and Windows XP领域,并为TechTarget写专栏。
相关推荐
-
升级到SQL Server 2012的七个理由
微软建议尽快将数据库升级到最新版本。在本文中,我们就来列举七个SQL Server 2012的功能特性,它将成为你升级的主要动力。
-
用T-SQL在SQL Server 2012中创建用户自定义角色
SQL Server 2012中引入了两项功能,即创建用户自定义服务器角色和分配服务器级别的权限。本文为初级DBA给出了一个用户自定义服务器角色的示范用例。
-
认识SQL Server 2012数据仓库一体机
戴尔和惠普都推出了基于并行数据仓库的SQL Server 2012数据仓库一体机。PDW是一个专门针对硬件一体机设计的大规模并行处理数据仓库平台。
-
SQL Server 2012的五个商业智能特性
SQL Server 2012交付了一些新特性,增强和扩展了的功能远胜于SQL Server 2008和2008 R2。