转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> 其他 >> 正文
分区的威力(翻译)         ★★★★

分区的威力(翻译)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1296 更新时间:2009/4/22 23:22:08

分区的威力

Dwaine R. Snow and Paul C. Zikopoulos 著

笑熬浆糊 译

 

原文出处:《DB2 Magazine》 Quarter 2, 2003 · Vol. 8, Issue 2

英文原文(由于文章翻译未经授权,请在转载时保留原文链接)

 

 


人们对分区有很多的误解。多伦多实验室的专家们对这个有用的功能进行了正名。

 

DB2 数据库分区的往往是存在很多误区。对于Linux、Unix以及Windows平台上的DB2 UDB 8.1 版本所做的变动有助于简化DB2 分区。我们将解释这些变动,澄清一些分区的神话,以及说明您应该考虑分区的时机和理由。

 

DB2 UDB 8.1 For Linux \Unix\Windows将DB2产品家族中以前称之为DB2 UDB 企业版和企业扩展版的产品整合成为一个单独的产品中。这个 新的DB2 企业服务器版(ESE) 包含了数据库分区的功能(从前是作为单独提供的产品) ,作为一个计费的项目,现在被称为数据库分区功能(注:直译——database partitioning feature DPF)。当DB2的用户们发现自己需要开始分区时,那么他们可以马上开始而不需要其他一些额外的代码—— 他们仅仅需要DPF的许可协议。

 

DPF的真相

关于数据库分区的神话在DB2中随处可见(参见表1)。对于分区基础的快速概揽将帮助你区别真伪并且做出适当的分区决策。

表1 : 围绕DB2 数据分区的神话和事实

""

无论是否有DPF,DB2都支持并行查询处理。图1展示了安装在一个4路SMP(对称多处理)服务器DB2 ESE。在这个假设中。一个独立的查询可以自动使用这个服务器上所有的CPU和物理磁盘。对于依靠需要数据的子集进行处理的子代理提供分区内部的并行机制。DB2 使用I/O的预存取把从磁盘发送的数据反馈到这些子代理当中。这种并行机制对用户、应用程序以及DBA都是透明可见的。

 

图 1不带有DPF的DB2 ESE的并行机制

 ""

DPF选项增加了在一组机器中或逻辑上位于某个SMP服务器中的数据库进行分区的能力。依靠DPF,一幅数据库图像可以跨越多台机器(存储),并且它对于用户和应用程序来说仍然还是一幅完整数据库图像。

 

考虑四路的SMP服务器组的情况。 (在这篇文章里,我们将使用术语数据库分区而不是集群,因为集群通常是指高可靠性的故障转移配置或者用于衡量系统的分区组。) 使用DPF,在图1中所讨论到的并行操作可以扩展到横跨多台SMP 机器(参见图2)。这样的好处就是有一个双并行操作。 你可以跨越多台机器或者逻辑数据库分区来平衡这些并行操作。这样的处理被称之为分区之间的并行机制。

 

图2 : 横跨多台机器的使用DPF的并行机制


""

分区之间的并行机制通常在多台服务器执行,但越来越多的用户现在都一些大型的SMP箱中进行该操作(参见图3)。

 

图3 : 单独的SMP服务器中的拥有DPF的DB2 ESE.

"" 

什么时候(为什么)需要进行分区

那么,你应该去做分区吗?在以下的情况下你应该考虑分区:

·         你的服务器拥有大量可用内存。即使DB2 v8有64位支持,多分区已经被证明可以提供比单独的SMP 并行机制更多的内存的有效使用和更多的线性可扩展性。

·         系统将包括多台服务器,或有超过6 到12 个的CPU。

·         数据库工具的操作速度是你的业务操作的关键所在。

·         为装载数据或提取,转换,负荷处理操作提供的批处理窗口数量是有限的。

·         数据仓库的滚动窗口数据更新的需求使并行SQL处理和其他日志空间成为根本。

分区在这些情况下显得特别有意义。 但是分区所提供的一些其它的好处使得它变得更有魅力。这些好处有:

查询的可扩展性 使用DPF的一个最明显的理由就是它可以增加查询工作量和insert, update,和 delete 操作的性能。把一个单独的大型数据库分区为很多定数量的较小的数据库以加速这些操作因为每一个数据库分区都拥有它们自己的一套数据。

 

比如说你想要扫描一个包含100 million行数据的表。对于一个单独的数据库分区而言,这次扫瞄会要求独立的数据库管理器去搜索所有100 million个纪录。如果你把你的数据库系统分区为使用50 台数据库分区服务器并且将这100 million条记录均匀的分配到他们之间的话,那么每一个数据库分区上的数据库管理器仅仅需要扫描2 million行。如果每一个扫描都在同一个时间并且以相同的速度执行的话,那么扫瞄完成的时间大约是前者的2%。

DPF提供类似于线性可扩展性和使用工具来完成基础设施构建。这样它可以根据需要增加容量而不需要新技术或者单独安装

 

DB2 优化器是基于并行机制。换句话说,它保留了如何在系统中对于底层数据进行分区的信息。使用这些信息,优化器考虑不同的查询执行策略和一个低成本的选择。当在比较不同的执行策略时,它会考虑到不同的操作的内在的并行机制和在数据库分区之间传递消息的开销。

 

在大量数据或者处理器和分区的数量增加的时候,DB2可提供类似线性的可扩展性。但是,分区可能提供的最大好处的机会取决于它所相关的工作量、最大容量表的大小以及其它一些因素。一般情况下,我们推荐:每个CPU上面的原始数据(仅是表的大小)的数量应该基于在被使用服务器上的CPU的功率。比如说pSeries p690-class CPU,我们会建议每个处理器150-200GB。而对于使用Linux或者Windows的xSeries-class CPU(或任何Intel或AMD的机器),我们会推荐每处理器75-150GB。记住,这些只是一般情况下的推荐,在实际情况下会有一些不同的。

 

[1] [2]  下一页


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台