仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1412|回复: 8
打印 上一主题 下一主题

[学习教程] MSSQL网页编程之分区的能力(翻译)

[复制链接]
愤怒的大鸟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:24:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在Windows中MySQL以服务形式存在,在使用前应确保此服务已经启动,未启动可用netstartmysql命令启动。而Linux中启动时可用“/etc/rc.d/init.d/mysqldstart"命令,注意启动者应具有管理员权限。
分区的能力

DwaineR.SnowandPaulC.Zikopoulos著

笑熬浆糊译



原文出处:《DB2Magazine》Quarter2,2003・Vol.8,Issue2

英文原文(因为文章翻译未经受权,请在转载时保存原文链接)





人们对分区有良多的曲解。多伦多实行室的专家们对这个有效的功效举行了正名。



DB2数据库分区的常常是存在良多误区。关于Linux、Unix和Windows平台上的DB2UDB8.1版本所做的变化有助于简化DB2分区。我们将注释这些变化,廓清一些分区的神话,和申明您应当思索分区的机会和来由。



DB2UDB8.1ForLinuxUnixWindows将DB2产物家属中之前称之为DB2UDB企业版和企业扩大版的产物整分解为一个独自的产物中。这个新的DB2企业服务器版(ESE)包括了数据库分区的功效(夙昔是作为独自供应的产物),作为一个计费的项目,如今被称为数据库分区功效(注:直译――databasepartitioningfeatureDPF)。当DB2的用户们发明本人必要入手下手分区时,那末他们能够即刻入手下手而不必要其他一些分外的代码――他们仅仅必要DPF的允许协定。


DPF的原形
关于数据库分区的神话在DB2中到处可见(拜见表1)。关于分区基本的疾速概揽将匡助你区分真伪而且做出得当的分区决议。

表1:环绕DB2数据分区的神话和现实




不管是不是有DPF,DB2都撑持并行查询处置。展现了安装在一个4路SMP(对称多处置)服务器DB2ESE。在这个假定中。一个自力的查询能够主动利用这个服务器上一切的CPU和物理磁盘。关于依托必要数据的子集举行处置的子代办署理供应分区外部的并行机制。DB2利用I/O的预存取把从磁盘发送的数据反应到这些子代办署理傍边。这类并行机制对用户、使用程序和DBA都是通明可见的。



:不带有DPF的DB2ESE的并行机制





DPF选项增添了在一组呆板中或逻辑上位于某个SMP服务器中的数据库举行分区的才能。依托DPF,一幅数据库图象能够超过多台呆板(存储),而且它关于用户和使用程序来讲仍旧仍是一幅完全数据库图象。



思索四路的SMP服务器组的情形。(在这篇文章里,我们将利用术语数据库分区组而不是集群,由于集群一般是指高牢靠性的妨碍转移设置大概用于权衡体系的分区组。)利用DPF,在中所会商到的并行操纵能够扩大到高出多台SMP呆板(拜见)。如许的优点就是有一个双并行操纵。你能够超过多台呆板大概逻辑数据库分区来均衡这些并行操纵。如许的处置被称之为分区之间的并行机制。



:高出多台呆板的利用DPF的并行机制




分区之间的并行机制一般在多台服务器实行,但愈来愈多的用户如今都一些年夜型的SMP箱中举行该操纵(拜见)。



:独自的SMP服务器中的具有DPF的DB2ESE.



甚么时分(为何)必要举行分区
那末,你应当往做分区吗?在以下的情形下你应当思索分区:

・你的服务器具有大批可用内存。即便DB2v8有64位撑持,多分区已被证实能够供应比独自的SMP并行机制更多的内存的无效利用和更多的线性可扩大性。

・体系将包含多台服务器,或有凌驾6到12个的CPU。

・数据库工具的操纵速率是你的营业操纵的关头地点。

・为装载数据或提取,转换,负荷处置操纵供应的批处置窗口数目是无限的。

・数据堆栈的转动窗口数据更新的需求使并行SQL处置和其另日志空间成为基本。

分区在这些情形下显得出格成心义。可是分区所供应的一些别的的优点使得它变得更有魅力。这些优点有:

查询的可扩大性利用DPF的一个最分明的来由就是它能够增添查询事情量和insert,update,和delete操纵的功能。把一个独自的年夜型数据库分区为良多定命量的较小的数据库以减速这些操纵由于每个数据库分区都具有它们本人的一套数据。



好比说你想要扫描一个包括100million行数据的表。关于一个独自的数据库分区而言,此次扫瞄会请求自力的数据库办理器往搜刮一切100million个记录。假如你把你的数据库体系分区为利用50台数据库分区服务器而且将这100million笔记录匀称的分派到他们之间的话,那末每个数据库分区上的数据库办理器仅仅必要扫描2million行。假如每个扫描都在统一个工夫而且以不异的速率实行的话,那末扫瞄完成的工夫约莫是前者的2%。

DPF供应相似于线性可扩大性和利用工具来完成基本举措措施构建。如许它能够依据必要增添容量而不必要新手艺大概独自安装



DB2优化器是基于并行机制。换句话说,它保存了怎样在体系中关于底层数据举行分区的信息。利用这些信息,优化器思索分歧的查询实行战略和一个低本钱的选择。当在对照分歧的实行战略时,它会思索到分歧的操纵的内涵的并行机制和在数据库分区之间传送动静的开支。



在大批数据大概处置器和分区的数目增添的时分,DB2可供应相似线性的可扩大性。可是,分区大概供应的最年夜优点的时机取决于它所相干的事情量、最年夜容量表的巨细和别的一些要素。一样平常情形下,我们保举:每一个CPU下面的原始数据(仅是表的巨细)的数目应当基于在被利用服务器上的CPU的功率。好比说pSeriesp690-classCPU,我们会倡议每一个处置器150-200GB。而关于利用Linux大概Windows的xSeries-classCPU(或任何Intel或AMD的呆板),我们会保举每处置器75-150GB。记着,这些只是一样平常情形下的保举,在实践情形下会有一些分歧的。



系统架构的限定DPF已冲破了一些DB2的系统架构的限定。比方,在DB2中表的最年夜容量是64GB以4KB的页面巨细(固然32KB的页面巨细能够撑持到512GB)。DB2中表和表空间巨细限定是创建在每一个分区的基本上。因而,在多个分区中对一个数据库举行分区可让你经由过程你地点体系情况的分区数目的系数来增添表的最年夜容量。比方,把一个数据库分区成高出四个结点体系就能够撑持最年夜(以32KB页面巨细)的2408GB的表。



在一个没有分区的情况中内存也会成为一个瓶颈。32位版本的DB2ESE限定了每台DB2服务器共享内存。(这个限定将随运转DB2的操纵体系的分歧而分歧,同时一些供给商也供应一些基础内存模的扩大。)共享内存撑持内存麋集型的数据库资本比如缓冲池、高速缓冲区和堆。在一个DPF的情况里,每个数据库分区办理和具有它本人的资本,因而您能够经由过程分区你的数据库来克制这些限定。你乃至能够在年夜型的SMP箱中区运转逻辑数据库分区,充实使用在一台独自SMP服务器中的年夜内存资本。



数据装载在DB2ESEv8.1中,假如对方针表分区,那末装载工具会主动并行的分别和装载数据。它利用智能的缺省值往分别和装载数据;它也能够被优化用于一些情况。



在一个分区数据库中,您可使用装载工具同时向响应的数据库分区装载数据。显现装载工具是利用公用的媒体浏览器将数据分别和装载到表中(并行形态下)。装载工具关于装载工夫供应了相似于线性的可扩大性。

使用DPF减速表的装载




DB2v8的装载工具比之前版本的装载工具更快、加倍可使用。假如你在DB2v8中实行一个装载的操纵,DB2不再是将被装载的谁人表地点的表空间一切表锁定在它当中(与DB2v7的情形一样)。如今乃至另有一种被称之为在线装载,它在装载的时分同意对表举行读操纵。思索关于之前DB2版本的,仍旧撑持autoloader剧本。



是不是有大概装载工夫主要但查询的功能其实不主要的?这两个成绩实在其实不相互排挤;但是,在很多贸易流程中装载工夫是一个主要要素。实践上,这偶然仍是决意要素。假如是在那种情形下,那末利用DPF是相称有效的。比方,电信公司(telco)的敲诈侦察单位在一个指定的工夫距离中装载大批的数据以求疾速正确的监测出呼唤形式下变态征象有多是潜伏敲诈旌旗灯号。数据库必需敏捷发明这些变态征象,因而数据必要敏捷和频仍地进进数据堆栈。在电信公司,这个历程每小时被反复乃至在更年夜的公司每十五分钟就要反复。这些需求请求一个可扩大而且高效力的基本举措措施来运转相似查询的事情。



保护数据库分区能够分明的减速保护。将数据库分离于多台数据库分区服务器上能够减速数据库的保护,由于每项操纵都是运转在分区办理的数据子集上的。



固然在DB2中索引创立是并行的,你能够经由过程对数据库举行分区来进一步削减总的工夫。在一切分区上使用小数据集并行创立索引是同意并行的。记着,DB2笼统了外表征象下的运转;多个表能够体现成一个表的情势。



RUNSTATS工具也能够从分红中受害。这个工具更新关于表的物理特征和它相干的索引统计数据。在决意数据会见路径时优化器利用这些统计数据。RUNSTATS是CPU麋集的,必要数据的排序和聚合。你可使用DPF的选项来削减该工具所占用的工夫。利用DPF,RUNSTATS反省在一个数据库分区上的数据而不是全部表。在DB2v8中,RUNSTATS取样选项能够进一步削减工具的的实行工夫(不论有或没有DPF)。



一样,将数据分布于多个分区有助于表重组(REORG),它是I/O麋集的而且必要随机抓取(出格是在离线形态下)。每一个数据库分区能够重组它具有的数据同时分派为每个处置器更多驱动来重组数据。这些操纵也能够并行操纵以延长必要的全体工夫。在DB2v8,你能够在各个分区大概在数据库分区的子集下去实行REORG。你也能够中断、停息、反省形态和恢复。



这些例子仅仅是一些能从DPF失掉优点的保护操纵。



并行拔出/删除在数据库分区中只要SQL语句是并行操纵。假如数据库情况利用SQL来举行年夜容量的拔出和删除处置,经由过程在数据库分区上的并行处置拔出和删除语句,多半据库分区能够增添事件处置的吞吐量。如许的优点还能够使用于从一张表当选择数据而且拔出别的一张表的手艺。



转动窗口需求当查询窗口必需坚持在翻开形态的时分,分区一般会被用于满意转动窗口的需求(天天拔出和删除行)。为每个处置器界说一个数据库分区将增添新数据拔出表中的吞吐量。在数据库分区中并发实行拔出或删除数据流很有事理(比方利用一个关头局限)。多半据库分区使为存储大批拔出和删除操纵的数据库的locklist分派充足的内存成为大概。

数据库分区同时也同意高出数据库分区并行举行索引保护操纵(在拔出和删除时)



备份与恢复多个数据库服务器之间的分区数据库能够才很年夜水平上削减备份数据库所利用的备份总工夫。依据你的情况,在决意是不是对数据库举行分区时这大概是一种主要决意要素。

DB2经由过程为每个表空间分派一个自力的历程大概线程来举行并行备份和恢复。在一个分区的备份中,每个分区被独自的举行备份。并行实行这些备份操纵将会延长备份全部数据库所泯灭的工夫。



一个分区数据库情况也能够减速前滚和从头入手下手(溃散)恢复。用DPF,一些必需前滚的日记详细到了每个数据库分区;数据库分区服务器间均衡的分别和制服计谋(divide-and-conquerstrategy)减速了这个历程。同时假如一个特定的数据库分区不必要前滚的话,那末它将在溃散恢复中被疏忽。



纪录一些必要思索的事变在一个高度活泼的体系中,数据库日记的功能极可能制约体系的才能。在一个分区的数据库情况,每一个分区都有它本人的一组日记。当体系必要实行高强度的拔出、更新大概删除举动时,多个数据库分区大概改良功能,由于日记被并行的写进每一个分区中,而且在每一个分区较少的纪录日记。
做出选择
分区仍是不分区?从基本下去讲,DB2就是DB2。不论你没有对你的数据库举行分区关于界面、功效、工具和你利用的妙技都没有任何的影响。这现实上是依托你的使用程序和情况。利用我们倡议的尺度,你能够发明成绩的谜底。




关于作者
DwaineR.Snow是DB2UDB分区数据库的产物司理,做为加拿年夜IBM的DB2UDB的资讯参谋事情多年,供应数据库和使用程序筹划和计划、项目筹划和实行、庞大在线事件处置和决议撑持体系计划、功能调剂和体系集成的现场引导。你能够经由过程mrdb2@yahoo.com与他接洽



PaulC.Zikopoulos在IBM数据办理软件小组有七年的DB2事情履历而且写了很多文章。他介入写作了几本书,包含DB2:TheCompleteReference(OsborneMcGraw-Hill,2002),和DB2FundamentalsCertificationforDummies(Wiley,2002)。Paul是DB2认证初级手艺专家(DRDA和Cluster/EEE范畴)和DB2认证办理计划专家(贸易智能和数据库办理范畴)。你能够经由过程paulz_ibm@msn.com与他接洽。


支持多线程,充分利用CPU资源
柔情似水 该用户已被删除
沙发
发表于 2015-1-19 11:02:57 | 只看该作者
另一个是把SQL语句写到服务器端,就是所谓的SP(存储过程);
透明 该用户已被删除
板凳
发表于 2015-1-27 23:56:52 来自手机 | 只看该作者
两个月啃那本sqlserver2005技术内部-存储引擎,花了几个月啃四本书
谁可相欹 该用户已被删除
地板
发表于 2015-2-5 14:30:23 | 只看该作者
我们学到了什么?思考问题的时候从表的角度来思考问
简单生活 该用户已被删除
5#
发表于 2015-2-12 06:59:10 | 只看该作者
原来公司用过MYSQL自己也只是建个表写个SQL
分手快乐 该用户已被删除
6#
发表于 2015-3-2 23:53:35 | 只看该作者
学习SQL语言的话如果要学会去做网站就不是很难!但是要做数据库管理的话就有难度了!
再现理想 该用户已被删除
7#
发表于 2015-3-11 07:47:44 | 只看该作者
个人感觉没有case直观。而且默认的第三字段(还可能更多)作为groupby字段很容易造成新手的错误。
若相依 该用户已被删除
8#
发表于 2015-3-17 23:16:21 | 只看该作者
只能告诉你,学好数据库语言和原理,多见识几种数据库软件,比一棵树上吊死要好。
海妖 该用户已被删除
9#
发表于 2015-3-25 07:43:04 | 只看该作者
从项目平台的选择上讲,我们关心的,应该是一款产品能不能满足任务需求,而不是网上怎么说。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 23:23

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表