• ----:)欢迎访问源码网(:----
    • 首页
    • 博客
    • 学院
    • 下载
    • 论坛
    • 影视
    • 发布源码
    • RSS
    • ITPig
    • 笑话网
    • 百家姓
    • 繁體中文

源码网 - 中国第一源码门户
选择镜像:网通镜像 - 电信主站
  • 首 页
  • 新闻动态
  • 网站运营
  • 网页制作
  • WEB开发
  • 编程开发
  • 图像媒体
  • 操作系统
  • 数据库
  • 服务器
热门搜索 优化 SEO 故事 cms IIS7 MySQL 个人 AdSense 主题推广 | 文章搜索: 高级搜索
会员登录/控制面版您的位置: 学院首页 >> 数据库 >> MSSQL >> 详细内容
 

推荐文章

  • SQL数据库的备份、压缩与SQL数据库数据处理的方法
  • 压缩SQL数据库
 
 

热点文章

  • 安装SQL Server 2005实例环境图解
  • SQL数据库的备份、压缩与SQL数据库数据处理的方法
  • SQL SERVER 2005数据库镜像
  • SQL数据库还原出现错误112(磁盘空间不足)的解决办法
  • Server 2005性能排错
  • 在SQL Server中的关系型数据仓库分区策略
  • 如何使用SQL Server 2000中的XML功能
  • 压缩SQL数据库
  • SQL Server 2000中的SQL语言简介
  • SQLServer删除日志方法
  • SQL精妙语句
  • SQL Server 2000中的SQL语言简介(一)
 
 

相关文章

  • 微软新一代数据库SQL Server 2008明年初上市
  • SQL Server非正常删除日志文件(ldf)恢复方法
  • SQL Server 性能优化工具
  • SQL Server性能分析参数
  • SQL Server数据仓库相关概念及构建流程
  • 详解SQL Server中数据库快照工作原理
  • SQL Server对图像数据的存储机制介绍
  • SQL Server数据库中存储引擎深入探讨
  • 构造SQL Server的安全门
  • SQL Server数据库中使用触发器经验谈
  • SQL Server乐观锁定和悲观锁定实例
  • 四项技术 助你提高SQL Server的性能
 
 

百度搜索

 
 

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

  • 阅览次数:
  • 文章来源: a hear
  • 原文作者: 不详
  • 整理日期: 2007-04-06
  • 发表评论
  • 字体大小:
  • 小
  • 中
  • 大

交换分区的最佳实践

只有当目标表或者分区是空的时滑动窗口方案才工作。例如,如果一个分区“P”属于分区表“PT”,它必须被交换出到表“T”,随后目标表“T”必须被清空。类似的,当将表“T”交换进分区表“PT”的分区“P”,目标分区“P”应当是空的。

当跨分区的数据移动被最小化时,滑动窗口方案工作最佳。下面的代码定义了分区函数和分区架构。当在这个分区架构上创建一个表时,分区表将会包括三个分区。第一个分区将会包含带有<=200401的键值的数据;第二个带有>200401 且 <=200403的键值;第三个带有>200403的键值。

CREATE PARTITION FUNCTION SALES_MONTHLY_PARTITION_FUNCTION (INT)

AS RANGE LEFT FOR VALUES ( 200401, 200403 )

GO

CREATE PARTITION SCHEME SALES_MONTHLY_PARTITION_SCHEME AS

PARTITION SALES_MONTHLY_PARTITION_FUNCTION ALL TO ([PRIMARY])

GO

CREATE TABLE t

(

col1   INT

)ON SALES_MONTHLY_PARTITION_SCHEME(col1)

GO

当使用ALTER PARTITION函数的分割功能添加一个值为200402的新分界时,行会在相应的分区间移动。

ALTER PARTITION FUNCTION PARTITION_FUNCTION()

SPLIT RANGE (200402)

GO

通过在原始的位置删除行以及在新的位置添加行,行可以在分区间移动。和此次交换有关的分区在这一期间是不可访问的。在这个例子中,新建的第二个分区将会拥有在键值范围>200401 且 <=200402内的数据。带有对应键值的数据被从第二个分区中删除并且插入到新的分区。新的分区(>200401 且 <=200402)以及第三个分区(>200402 且 <=200403)在这一期间是无法访问的。

在我们的消费者场景中,新的数据是通过在活动的结尾处分割分区函数来添加的。老的数据是通过在老化的结尾处合并分区函数来删除的。这种实现滑动窗口的方式消除了在交换进和交换出分区时的跨分区的数据移动,也就是说,新的数据被批量的导入到一个表中并且随后通过在活动的结尾处分割它来交换进分区表,具体如下所示:

ALTER TABLE NEW_PARTITION SWITCH TO PARTITIONED_TABLE PARTITION

$partition.WEEK_PARTITION_FUNCTION (200404)

GO

对于更多的信息,请参阅在SQL Server联机丛书中的“设计分区来管理数据子集”

将数据存储到一个性价比高I/O子系统的技术

一个滑动窗口的具体实现可以通过将老化的数据滑动到一个性价比高的I/O子系统中来进行扩展。例如,在我们的测试场景中,我们将老化的数据从一个高性能的I/O子系统滑出到了一个没有同等高的性能但较为经济的I/O子系统中。特殊的滑动窗口实现可能无法通过在SQL Server中的备份与还原操作来完成。有一些替换的方式可以实现这样一个策略:

◆如果源文件是可用的,将数据导入到位于性价比高的I/O子系统的其它表中。重建索引。删除老的分区并且将新近导入的表添加到分区表中。无论你的数据集的大小,down机时间将会是交换分区所需要的时间,可以忽略不计。

◆如果导入的过程中包含了转换,在性价比高的I/O子系统上,通过使用一个SELECT/INTO查询从老化的分区提取数据来创建新表并重建索引应当更为有效。down机时间将会是交换分区所需要的时间。

关系型数据仓库的分区策略

接下来的部份阐述了对你的关系型数据仓库进行分区的两个主要策略。该部份将会讨论这些策略是如何作用于影响分区的要素的。

策略 I – 将一个分区绑定到它自己的文件组

一个分区可以使用以下的步骤被逻辑的绑定到一个文件组:

◆创建带有多个文件组的数据库,每一个文件组将会逻辑的对应一个分区

◆每个文件组中有一个文件。文件组可以包含一个或多个物理文件,并且这些文件可以在一个或多个逻辑卷/物理磁盘上创建

◆创建分区函数并将分界点映射到相应的文件组,使用分区架构来创建一个在文件组和分区之间的一一对应的关系

关于如何基于这个策略来实现分区的示例代码请参阅附录D

 

图表3:将分区映射到其自身的文件组

策略Strategy II – 将两个或更多分区绑定到同样的文件组

第二个策略是将一个或者多个分区映射到同样的文件组。文件组可以由一个(或者多个)分布在跨越一个(或者多个)逻辑卷/物理磁盘的物理文件来组成。对于基于这个策略实现分区的示例代码,请参阅附录D

 

图表4:将两个或更多的分区映射到同一个文件组

[1] [2] [3] [4] [5] [6]

上一篇:比AcdSee功能还强大的图片处理、编辑软件,推荐下载!
下一篇:ASP上传漏洞防范
  • 网友评论:
  • 查看所有评论
  • 我要发表评论
您的网名:
留言主题:
你要发表的内容:

 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 发布软件 | 帮助中心 | 源码论坛

Copyright © 2005-2007 CodePub.Com  程序支持:木翼  滇ICP备05005971号