WEB开发网
开发学院数据库MSSQL Server SQL 2008数据仓库可扩展性 阅读

SQL 2008数据仓库可扩展性

 2008-09-28 10:06:42 来源:WEB开发网   
核心提示: 星型关联如果采用维度化对数据仓库进行模型化,那么你的主要工作将集中在星型关联查询中,SQL 2008数据仓库可扩展性(3),这些查询都遵循一个通用的模型,即事实数据表(fact table)同一个或多个维度表(dimension table)进行联接,当可以降低查询消耗时,SQLServe

星型关联

如果采用维度化对数据仓库进行模型化,那么你的主要工作将集中在星型关联查询中。这些查询都遵循一个通用的模型,即事实数据表(fact table)同一个或多个维度表(dimension table)进行联接。另外星型查询通常依靠维度表的非键列来实现筛选条件并在事实数据表的某一列(称之为measure列)中执行聚合(例如SUM)。对于行的碎片处理,很多种星型查询的性能在SQL Server2008中都得到了显著提升。

新技术依靠bitmap filter功能,即Bloom filters (参考Wikipedia 2007 ,Bloom filter, http://en.wikipedia.org/wiki/Bloom_filter),它可以让SQL Server 在查询赋值过程中,针对后续处理及早的排除不符合条件的行。同其它产品所使用的查询处理技术相比,这样可以大量节约CPU 使用时间。据我们观察,在使用新的星型查询时,整个关系型数据仓库的性能会提高15-25%。一些个别查询速度甚至能够比以前快7倍以上。

新的星型联接使用一系列的哈希联接,为所涉及的每一个维度表构建一个哈希表。构建哈希表会产生一些额外信息,名叫bitmap filter, Bitmap filter 即图1中标记为“Join Reduction Info.”的方框,对于那些在联接过程中将被排除的行,这些筛选器会在扫描事实数据表时先将它们几乎全部排除掉。如此一来CPU 就不需要花时间来复制将会被排除掉的行,也不需要在哈希表中去检测它们,从而节约了时间。上图中显示了在对事实数据表扫描时的筛选效果。SQL Server2008的查询执行器同样会在执行过程中对bitmap 进行重新排序,将最有可能被选中的放在首位,从而进一步节省了CPU 的时间,这是因为一旦bitmap对事实数据表的行检查失败,那么该行将被跳过。

新的星型查询优化技术只在Microsoft SQL Server2008 企业版中提供。当可以降低查询消耗时,SQLServer 会自动按照星型联接模型对查询进行优化,你不需要对应用程序做任何修改就可以体验到性能的显著提升。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:SQL 数据 仓库

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接