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

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

推荐文章

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

热点文章

  • 安装SQL Server 2005实例环境图解
  • SQL数据库的备份、压缩与SQL数据库数据处理的方法
  • SQL SERVER 2005数据库镜像
  • SQL数据库还原出现错误112(磁盘空间不足)的解决办法
  • 如何使用SQL Server 2000中的XML功能
  • Server 2005性能排错
  • SQL Server 2000中的SQL语言简介
  • 在SQL Server中的关系型数据仓库分区策略
  • SQLServer删除日志方法
  • 压缩SQL数据库
  • 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
  • 发表评论
  • 字体大小:
  • 小
  • 中
  • 大

滑动窗口实现

滑动窗口是影响对关系型数据仓库分区的一个关键要素之一因而值得用上一个单独的部份对其具体实现的细节进行讨论。

滑动窗口的场景包括将新的分区滑动进去以及将老化的分区从分区表或者视图滑动出来。当老化的数据存档时新的数据就可以用来让用户查询了。在滑动分区时的关键是最小化down机时间。

老化的数据可以被存档并且可以通过还原相应的备份在必要时取回,或者它也可以被移动到一个更低持久性,但更大I/O承受能力的始终可用以进行用户查询的子系统。

下面的图表展示了一个来自我们的测试场景的滑动窗口具体实现。在我们的测试场景中,从分布在全国的商店那里收集与消费者相关的销售数据。数据被导入,纯化,以及聚合来为商业决策提供支持。在我们的测试场景中,一个分区逻辑的代表了一周的有效数据。当前,八周的有效数据被标识为活动的。活动的数据比老化的数据的查询频率高很多。当有新的数据进来,老化的数据就会移出。这儿有一条业务规则表明老化的数据应当保持在线但是应当存储在一个经济有效的I/O子系统中。

 

图表2:滑动窗口方案

在SQL Server 2000中,滑动窗口可以使用分区视图来实现。缺点是分区视图必须被重新绑定来包括进在UNION视图中的新生成的数据。重新绑定需要一个元数据锁并且可能会被任何对现存视图或者基表的访问所阻塞。

通过对使用Transact-SQL语句将分区交换进和交换出的支持SQL Server 2005提供了一个对滑动窗口方案的更佳实现。交换分区需要在分区表上放置一个架构锁。当没有其它的进程在分区表上获取了一个表级别的锁时分区可以被交换进和交换出。如果分区被其它的进程使用或者如果其它的进程已经在分区表上获取了一个表级别的锁,交换分区的构建进程将会等待直到其它进程已经释放了锁。分区交换是一个对元数据的操作因而非常快速。

下面的步骤可以用来在SQL Server 2005中使用分区表实现一个滑动窗口方案:

◆创建分区函数,架构以及带有适当分界点和关联文件组的表。然后按照下面描述的四个步骤来执行初始导入

◆创建代表单个分区的表

◆分别地填充表

◆向表中添加约束检查来将数据值绑定到对应的范围上并且创建适当的索引。SQL Server 2005在创建分区表后创建初始索引时提供了一个额外的选项

◆将新近填充好的表交换进分区表的每一个分区

◆在初始导入之后,在一个表中任何新导入和交换进来的数据都不会成为分区表的一部份。一旦数据已经就绪,在设置好适当的分界点后表就可以被交换进分区表

◆类似的,老化数据可以被移动到更经济有效的I/O子系统但是仍然在线并保持可用状态

接下来的部份涉及了一些针对分割分区表以及将分区交换进分区表的最佳实践。

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

上一篇:PHP使用zlib扩展实现页面GZIP压缩输出
下一篇:构建支持Master/Slave读写分离的数据库操作类
  • 网友评论:
  • 查看所有评论
  • 我要发表评论
您的网名:
留言主题:
你要发表的内容:

 

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

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