频道直达:新闻 - 组网 - 安全 - 服务器 - 存储 - 系统 - 应用 - 开发 - 数据库 - 前沿 - 技术人 - 培训 - 求职 - 读书 - 教程 - 专题 - 产品 - 案例 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

在SQL Server中的关系型数据仓库分区策略(7)

作者: Gandhi Swaminathan 出处:51CTO.com 2007-02-27 17:01    砖    好    评论   进入论坛
阅读提示:分区,在Microsoft SQL Server中,便于对高可用关系型数据仓库进行有效的管理。本白皮书讨论了在此环境中影响分区策略以及设计,实现,管理等需要考虑事项的几个因素。

转换性能

在我们的测试中,批量导入的过程后面跟着一个转换过程。转换过程包括将源数据和维度表联接在一起,其目的是为了使用提取的维度键值来填充目标仓库。下面是一段在我们的测试场景中使用的示例代码:

SELECT fact.fact_data_1,

sdim.store_key, pdim.product_key, tdim.time_key
INTO sales_transformed
FROM
sales fact,
stores sdim,
products pdim,
time tdim
WHERE fact.store_id = sdim.store_id
AND convert(bigint, (fact.system + fact.generation + fact.vendor + fact.product))

= pdim.productid
AND fact.weekid = tdim.weekid

转换查询是连续运行的,一个查询后面紧接着另一个,以致于在策略I中要保存前面的分区架构设置

# 并行线程

执行时间

处理器使用率

(1个处理器)

# 被转换的行

(每个转换)

磁盘读吞吐量

磁盘写吞吐量

1

每个转换差不多1小时13分钟

100%

差不多3亿行

 

3.5 MB/ 1 LUN on CLARiiON

(256 KB )

2.8 MB/ 1 LUN on CLARiiON (128 KB )

以下是来自一个分区架构的性能数值,它是基于策略II的并且所有的线程都是以并行方式执行的。

索引构建性能

在我们的测试中,我们可以用2个小时在跨越拥有25亿行数据的八个分区的三个整型列(维度键)上创建一个聚簇索引。其中的SORT_IN_TEMPDB选项允许tempdb数据库被用来对数据进行排序。在这个测试过程中使用这个选项来隔离在索引建立过程中用来读写的物理磁盘。当'sort_in_tempdb'选项设置为on时,tempdb数据库必须有足够的剩余空间在离线的索引创建过程中用来放置整个的索引。当排序在一个用户数据库中完成时,每个文件组/分区需要有足够的剩余空间来放置相应的分区。

在我们的消费者场景和设计中,每个分区逻辑的代表了一周的有效数据,这些数据带有一个和在任何给定的分区中所有的行相同的键值。对于每个单独的索引建立的parallelism的级数只能是1,因为distinct关键字值的数量是1。因而,在SQL Server 2005中我们在创建了分区表之后再创建起始索引的做法让起始索引的建立更好的利用了可用的处理器资源。

# 并行线程

执行时间

处理器使用率

#

8

2小时

86%

2,478,765,081

数据库备份性能

在我们的测试中,我们花了一个小时多一点的时间来备份活动分区到4个RAID 3 LUNs on EMC CLARiiON存储系统。活动分区分布在跨越8个LUN's的一个RAID 5 (4+1 10K RPM) EMC CLARiiON阵列上。目标设备是一个RAID 3 (4+1, 5K RPM ATA) CLARiiON阵列。

执行时间

# 备份的页 (8K)

备份/还原吞吐量/

1小时20分钟

30,518,330

50.15 MB/

老化数据到ATA 磁盘

老化数据到ATA磁盘包括使用SELECT/INTO语句批量导入数据。以下是一段用来实现滑动窗口的代码示例。

ALTER DATABASE [Customer] 
ADD FILEGROUP [ARCHIVE_1]
GO
ALTER DATABASE [Customer] 
ADD FILE (NAME = N'ARCHIVE_1', FILENAME = N'F:\ATA\RAID5\2\ARCHIVE_PARTITION_1.NDF',

SIZE = 100GB, FILEGROWTH = 0)
TO FILEGROUP [ARCHIVE_1]
GO
ALTER DATABASE Customer MODIFY FILEGROUP [ARCHIVE_1] DEFAULT
GO
SELECT * INTO iri..Sales_129_ARCHIVE
FROM VISF
WHERE TIME_KEY = 129
OPTION (MAXDOP 1)

一个等价于在现存的分区表上的聚簇索引的聚簇索引必须在新的表上创建,以便能够随后交换进分区表。在我们的测试中,我们使用了SELECT/INTO来滑出第一个有2.79亿行的老化分区到一个ATA磁盘阵列,整个过程用了不到20分钟。在同样的表上创建聚簇索引用了不到40分钟。

附录 B: 平台列表

以下的硬件和软件部件是用来进行本文中所描述的测试的:

Microsoft 软件
Microsoft Windows Server™ 2003 数据中心版 Build 3790
Microsoft SQL Server 2005 Beta 2

服务器平台
64-位 Unisys ES7000 Orion 130
16 Itanium 2 1.30 GHz CPUs 带有 3 MB 缓存
64 GB 内存

存储
EMC Symmetrix 5.5
- 96, 72 GB 10 KB RPM 磁盘 16 GB 读写缓存
EMC CLARiiON FC4700
- 155, 133.680 GB, 10 KB RPM磁盘16 GB读写缓存
- 30, 344 GB, 5 KB RPM磁盘(ATA)

主机总线适配卡
8 Emulex LP9002L 2 GB/秒光纤通道主机总线适配卡
所有的适配卡映射到CLARiiON 存储阵列,可以通过Powerpath 软件实现负载均衡

存储管理软件
EMC Powerpath v 3.0.5


共9页: 上一页 [1] [2] [3] [4] [5] [6] 7 [8] [9] 下一页
【内容导航】
专题
SQL Server 2008/2005全解
SQL Server入门到精通
初探敏捷开发
WCF开发基础
体验Visual Studio 2008的魅力
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·Java基础教程 (查看81120次)
·UML类图详解 (查看72587次)
·C++是垃圾语言?! (查看42719次)
·C#技术开发指南 (查看40290次)
·UML统一建模语言 (查看39225次)
·Java编程开发手册 (1198个砖)
·Java基础教程 (431个砖)
·C#技术开发指南 (311个砖)
·.NET开发手册 (254个砖)
·PB开发教程 (223个砖)
·Java编程开发手册 (658个好)
·Java基础教程 (578个好)
·.NET开发手册 (282个好)
·PB开发教程 (213个好)
·Delphi开发技术手册 (200个好)
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。