《硅谷》杂志:DB2数据库设计与性能研究 |
2013-02-26 09:45 作者:袁春莹 来源:硅谷网-《硅谷》杂志 HV: 编辑: 【搜索试试】
|
|
硅谷网文 据《硅谷》杂志2012年第22期刊文称,伴随着信息技术的迅猛发展,无论是信息的传递速度还是规模,都在发生着巨大的变化,信息的数量之多简直令人应接不暇。在这样的背景下,对数据库的性能进行研究,则显得尤为重要。而对数据库性能造成影响的因素有很多种,系统设计占据了非常重要的比重。以DB2数据库为例,详细分析对DB2数据库性能造成影响的设计方面的因素,同给出相应的建议和改进措施。
关键词:数据库;DB2;性能;设计;研究
DB2数据库是E-R型数据库,由IBM公司研制,具有良好的完整性、可恢复性、安全性和可利用性,同时存取数据的速度极高,伸缩性能良好,可在大型的服务器系统或个人的PC机上应用和运行。DB2具有小规模数据向大规模数据的转换及跨平台执行能力的功能。利用分级技术进行设计,既方便基于LAN程序的访问,也利于大型机数据库的同步下载,实现了远程和本地数据库之间的连接,可对并发查询功能进行支持,同时对查询性能进行进一步的优化,对于大型的分布式应用系统非常适用。
1表空间的设计和性能
作为一个物理存储对象,表空间为数据库提供间接的一层。具体是由对数据进行存储的容器组成,是一种存储空间。根据空间类型划分,容器包括文件、设备和目录、表的LOB部分及长字段、索引和数据,即可在相同的表空间内存储,又可存在于独立的表空间内。和数据库共同运行,最终是为了实现对数据的快速检索和高效存储。对数据库的性能进行分析和对数据库进行设计时,首先要对数据库的物理布局进行考虑。DB2所提供的表空间支持包括两种类型:
1)系统管理的空间(SMS),作为一种最佳选择,可存储系统文件数据,不仅管理成本低,同时性能良好。
2)数据库管理空间(DMS),是一种存储和控制空间,用于管理文件列表和设备,它会产生一些附件的管理成本,主要用于调整和预测预分配文件的大小。其空间大小可以轻易的由增加新容器或对现有容器进行改变来实现。
相关建议:
1)和SMS相比较,DMS表空间有着更好的性能,主要是为了实现预分配,在对文件的大小进行扩展时,可以节省时间。DMS表空间包括系统文件或原始设备。由于不会发生双缓冲,针对原始容器,它可以提供最好的性能。
2)在SMS表空间的使用时,可对db2empfa命令进行使用,可启用多页文件的分配功能,提高了插入(INSERT)吞吐量。
3)DMS空间的使用,还可对数据用单一的表来存储。在最多不超过三个不同的DMS表空间上,对大型对象进行索引。在性能的提高上,通过并行磁盘I/O来实现。并行I/O,是为了写入或读取更多的设备,以便缩短相应的时间。
2表的设计和性能
在对物理数据库表进行创建以前,首先应该设计具有一定逻辑性的数据模型,下面首先分析下逻辑数据库对性能的影响。
2.1规范化设计
它是调整和简化数据模型的一个过程,它既减少了数据的繁杂,对语句的删除和更新性能进行了提高,同时不需要对同一数据进行重复操作,通过对数据的规范,确保所有列都对主键有所依赖。对数据结构进行规范化的缺点是,在对数据进行查询和检索操作时,在访问多个表中的数据块时,必须通过联合操作来实现。
2.2非规范化设计
如果在多个表中刻意的重复某些列,会使数据繁杂,使性能随之降低。但有时非规范化是必须存在的,它是设计物理关系数据库的一个非常重要的环节。非规范化的使用,必须要综合以下因素进行考虑:
1)如果不使用,可否对数据库的性能,通过其他方法改善和调整,最终实现接收的目的。
2)如果使用了非规范化,可否实现系统的性能,并且对更新产生的费用,能够实现平衡增加。
3缓冲池的设计和性能
作为一个内存区域,可在缓冲池内保留、读、写数据库页面。而DB2使用数据库缓冲池,可使磁盘I/O减少。目前对于给缓冲池分配多少内存,还没有明确的答案。但在常规意义上讲,应该是越多越好。最佳方案是将75%的系统存储应用在缓冲池内存上,但其局限性在于,只能在专用的数据库服务器上应用。同时作为一种内存资源,必须和其他进程及应用程序一起,在服务器上共同使用。若表空间内存在多个页面,则需要为每一个页面设置一个对应的缓冲池。在一些时候,对同样大小的多个缓冲池进行定义,可使其性能提高,但如果不进行正确的配置,则会产生反作用。是否进行多个缓冲池的创建,应进行综合考虑。
4日志记录
对数据的完整性进行支撑,是数据库系统的主要功能。基于此,数据库必须对日志文件进行维护,对数据库的变化进行跟踪和记录。DB2的日志记录是由两组文件组成,涵盖了全部的数据库更改的日志记录,主要在回滚尚未提交的工作单元中应用,同时将数据库恢复到一致状态,而DB2对日志记录的两种策略进行了提供。
在设计的过程中,绝不能忽视日志记录和数据库性能的关系,在这里时间成本占据着很大因素,由于在对数据库进行恢复时,数据库管理器需要对日志文件进行读取,所以需要进一步优化日志文件的存放,并充分考虑到读和写的性能。
5理想化的索引设计
索引的组成是一组排好序的键,它是DB2对象,在一个或多个列中抽取了对应的键。通过相关研究数据显示,只有表空间的索引建立恰当,才能使DB2数据对该表空间进行访问的应用程序,实现一种最好的状态,并且达到一种最优的效果。在以前的设计中,重点考虑的因素是在I/T中DASD的空间和成本。而随着科学技术的日新月异,从DB2的设计和性能上考虑,为了减少I/O,可通过添加一定数量的索引来实现,这样降低了额外磁盘空间的消耗。这种索引的设计,具有以下几点好处:
一是索引中囊括了WHERE子句中的所有列,这样对结果集中的不合格的行,起到了一定的屏蔽作用。在索引的开始部分放入这些列,在对SQL语句进行EXPLAIN时,就会有MATCHCOLS最大值生成。
二是保障索引中的列顺序排列适当,通过对PLAN_TABLE中全部的SORT列进行检查,就可对这个性能进行验证。
一般情况下,要想真正实现这种理想化的设计和性能,难度是非常大的。原因主要是一个索引中包括的索引项的长度以及列数,往往都要受到架构的限制,同时还要对维护成本给予充分考虑,尽管最理想的索引,可使查询性能得到明显提高,但一旦DB2数据库执行SQL写操作时,就会干扰和影响到这种索引的性能。
6结语
优化数据库是一个非常系统的工程,要涉及到方方面面的技术和知识,包括了硬件、软件应用、操作系统平台以及数据库。在整个数据库性能研究中,系统设计只是一个非常重要的环节,还必须进行后期的维护和应用。本文重点阐述了数据库设计环节,对于整个过程,还缺乏整体性考虑,所以我们在实际应用中,必须权衡各个方面,综合分析维护、应用以及其他设计方面,对数据库性能带来的影响。
作者简介:
袁春莹(1983-),女,山东聊城人,本科,信息系统项目管理师,山东省农村信用社联合社,在银行科技部门从事银行核心业务系统研发工作。 |
|
|
|
【对“《硅谷》杂志:DB2数据库设计与性能研究”发布评论】 |
版权及免责声明:
① 本网站部分投稿来源于“网友”,涉及投资、理财、消费等内容,请亲们反复甄别,切勿轻信。本网站部分由赞助商提供的内容属于【广告】性质,仅供阅读,不构成具体实施建议,请谨慎对待。据此操作,风险自担。
② 内容来源注明“硅谷网”及其相关称谓的文字、图片和音视频,版权均属本网站所有,任何媒体、网站或个人需经本网站许可方可复制或转载,并在使用时必须注明来源【硅谷网】或对应来源,违者本网站将依法追究责任。
③ 注明来源为各大报纸、杂志、网站及其他媒体的文章,文章原作者享有著作权,本网站转载其他媒体稿件是为传播更多的信息,并不代表赞同其观点和对其真实性负责,本网站不承担此类稿件侵权行为的连带责任。
④ 本网站不对非自身发布内容的真实性、合法性、准确性作担保。若硅谷网因为自身和转载内容,涉及到侵权、违法等问题,请有关单位或个人速与本网站取得联系(联系电话:01057255600),我们将第一时间核实处理。
|
|
|
|