滑动窗口实现
滑动窗口是影响对关系型数据仓库分区的一个关键要素之一因而值得用上一个单独的部份对其具体实现的细节进行讨论。
滑动窗口的场景包括将新的分区滑动进去以及将老化的分区从分区表或者视图滑动出来。当老化的数据存档时新的数据就可以用来让用户查询了。在滑动分区时的关键是最小化down机时间。
老化的数据可以被存档并且可以通过还原相应的备份在必要时取回,或者它也可以被移动到一个更低持久性,但更大I/O承受能力的始终可用以进行用户查询的子系统。
下面的图表展示了一个来自我们的测试场景的滑动窗口具体实现。在我们的测试场景中,从分布在全国的商店那里收集与消费者相关的销售数据。数据被导入,纯化,以及聚合来为商业决策提供支持。在我们的测试场景中,一个分区逻辑的代表了一周的有效数据。当前,八周的有效数据被标识为活动的。活动的数据比老化的数据的查询频率高很多。当有新的数据进来,老化的数据就会移出。这儿有一条业务规则表明老化的数据应当保持在线但是应当存储在一个经济有效的I/O子系统中。
图表2:滑动窗口方案
在SQL Server 2000中,滑动窗口可以使用分区视图来实现。缺点是分区视图必须被重新绑定来包括进在UNION视图中的新生成的数据。重新绑定需要一个元数据锁并且可能会被任何对现存视图或者基表的访问所阻塞。
通过对使用Transact-SQL语句将分区交换进和交换出的支持SQL Server 2005提供了一个对滑动窗口方案的更佳实现。交换分区需要在分区表上放置一个架构锁。当没有其它的进程在分区表上获取了一个表级别的锁时分区可以被交换进和交换出。如果分区被其它的进程使用或者如果其它的进程已经在分区表上获取了一个表级别的锁,交换分区的构建进程将会等待直到其它进程已经释放了锁。分区交换是一个对元数据的操作因而非常快速。
下面的步骤可以用来在SQL Server 2005中使用分区表实现一个滑动窗口方案:
◆创建分区函数,架构以及带有适当分界点和关联文件组的表。然后按照下面描述的四个步骤来执行初始导入
◆创建代表单个分区的表
◆分别地填充表
◆向表中添加约束检查来将数据值绑定到对应的范围上并且创建适当的索引。SQL Server 2005在创建分区表后创建初始索引时提供了一个额外的选项
◆将新近填充好的表交换进分区表的每一个分区
◆在初始导入之后,在一个表中任何新导入和交换进来的数据都不会成为分区表的一部份。一旦数据已经就绪,在设置好适当的分界点后表就可以被交换进分区表
◆类似的,老化数据可以被移动到更经济有效的I/O子系统但是仍然在线并保持可用状态
接下来的部份涉及了一些针对分割分区表以及将分区交换进分区表的最佳实践。
| 共9页: 上一页 [1] [2] [3] 4 [5] [6] [7] [8] [9] 下一页 | ||
|
|
||||
| · NAC安全访问控制 · 网络布线测试仪器 · Windows Server 2008专.. · Windows远程桌面应用 · 网络故障排除宝典 · 运营商封堵ADSL共享 中.. · 解析35岁技术人的价值.. · 世纪枭雄比尔盖茨的王.. |
· 主流品牌防火墙配置 · ASP.NET开发教程 · 超级计算机TOP500专题 · Vista SP1对决XP SP3 · SQL Server 2008/2005.. · 程序员如何成长? · C#技术开发指南 · 虚拟化技术还有点“虚” |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · Windows远程桌面应用 · C#技术开发指南 · Apache技术专题 |
· Windows集群服务应用 · C#技术开发指南 · 国际文档格式标准开战 · 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · C#技术开发指南 · 三层交换技术专题 · Apache技术专题 · C#技术开发指南 |
· Windows远程桌面应用 · 企业数据恢复指南 · Windows集群服务应用 · 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 |
|||