1绪论
1.1课题背景与意义
随着计算机和数据库技术的迅速发展,当前我们存储和组织数据最重要的技术途径就是数据库技术。数据库技术主要解决了存储数据的冗余问题,同时还解决计算机之间的数据的共享问题以及数据的保护。同时还保持查询数据性能的高效。从数据库诞生到现在,数据库已经发展了己有40年。在这40年当中,研究人员对数据库的理论研究以及应用开发做出了卓越的贡献,并且积极投入到新一代数据库技术的研究当中"数据库应用系统己经成为现代计算机应用系统中不可或缺的一部分。
在当前数据库市场中数据库管理系统产品很多,种类也很多,每个数据库都有其各自的特点"在决定开发一个基于数据库的管理信息系统之前,首先要考虑的是使用哪种数据库系统,这对以后的开发工作有着很重要的影响"如何在这么多数据库系统产品中,选择最适合自己需求的数据库系统这成为了一个难题。采用哪种数据库最重要的两个指标是数据库的存储性能和查询效率,所以,在开发数据库信息系统之前,深入地研究多种数据库性能是很有必要的"通过对数据库系统的深入研究,再根据数据库性能来选择使用哪种数据库。
现在世界已经迈入了信息化的时代,随着信息技术的高速发展,信息技术有效地提高了人们的工作和生活效率"同时人们的生产和生活方式伴随着信息技术的发展也发生巨大的改变。在52006一2020年国家信息化发展战略6白皮书中,党中央!国务院要求在卫生部门整体规划电子健康档案的应用。电子健康档案的应用有力地促进了卫生和医疗之间的信息共享和业务协同,以满足医疗体制的改革和医疗结构的发展。
2009年4月7日公布的5医药卫生体制改革近期重点实施方案(2009一2011)6提出,将促进公共卫生服务逐步均等化,从2009年开始,逐步在全国统一建立居民健康档案,并实施规范管理。在卫生部大力推行建立全国统一的居民健康档案的背景下,研究居民健康档案在数据库中的应用是很有发展前景的。国内的卫生系统体系太多,思路也多,纵横交错,医疗卫生、公共卫生、妇幼保健、计划生育等在大方向上已经有如此多的分支,而小方向上则又有社区卫生、社保、电子病案等更多的分支,如此下去,卫生体制迟早进入崩溃的边缘"但这些所有分支中,在人这层的概念是同一的,只要稍加转换就可以建立一条在个人健康档案基础上的卫生体系的机构,而所有分散的系统都可以整合,理念就可以说明一以人为本,这是个趋势,也是发展的必然方向"所以,研究居民健康档案在数据库中的应用就是必须的,只有这样刁-能形成全国统一的居民健康档案。
1.2数据库的发展历史
数据库的诞生掀起了计算机信息管理系统的一次巨大的革命。而数据模型是数据库技术的核心和基础。数据库技术从诞生到现在发展只有短短的40年,在这40年中主要经历了三个发展阶段。
第一个发展阶段是网状和层次数据库系统。层次数据库和网状数据库数据库发展史上最重要的一个里程碑"层次数据库系统是基于层次数据模型的数据库系统"网状数据库系统是基于网状数据模型的数据库系统"网状数据模型比层次模型更具有普遍性,取消了层次模型树型结构的限制。
第二个发展阶段是关系型数据库系统。关系型数据库是以关系模型为基础的。关系数据模型是由若干个关系组成的集合。每个关系从结构上看实际上是一张二维表,表中的每一行都表示一个实体对象,表的每一列都对应该实体的属性,实体之间的关系用关键字来表示,这样的一个表被称为一个关系"关系型数据库的诞生,使得数据库能够更加广泛地配置在小型机和微型机中"在20世纪70年代中期,IBM公司在研制SYSTEMR关系数据库管理系统中研制出了sQL(structuredQueryLanguage)语言。SQL语言结构简洁,功能强大,简单易学,自从IBM公司推出以来,SQL语言得到了广泛的应用"如今无论是Orade,Sybase,Informix等这些大型数据库管理系统都支持sQL语言作为查询语言。
第三个发展阶段是以面向对象数据模型为主要特征的数据库系统,在20世纪80年代,面向对象的方法和技术的出现,对计算机等领域产生了深远的影响。数据库技术结合面向对象的方法,数据库研究员提出了面向对象的数据模型。而在面向对象技术和数据库技术向结合的过程中,大部分都是采用两种方法来发展数据库的:一种方法是在数据库中采用纯粹的面向对象技术,这种数据库是在面向对象语言的基础上增加数据库的功能"第二种方法是在传统的关系型数据库中增加对面向对象的特性,数据库很好的将面向对一象的技术与传统的关系型数据库技术进行了结合"这种数据管理系统不仅支持SQL,同时也支持面向对象,是面向对象技术和传统关系数据库技术的最佳融合的数据库管理系统。
2数据库存储性能研究
数据库存储和查询是数据库管理系统中最重要的两个部分。数据库存储一般都是将数据文件存储在磁盘中,所以磁盘的1/0开销直接关系着数据库的性能。因此,在数据库管理系统中,数据库中数据的存储方式要尽可能地符合访问磁盘的特点,这样才能减少磁盘的1/0的开销。关系型数据库管理系统存储数据的方式和面向对象的数据库管理系统存储数据的方式是不相同的"在本章中将会详细地研究关系型数据库管理系统的存储结构和典型的面向对象数据库管理系统的存储结构。
3数据库查询性能研究.............................................................................31
3.1Cach6数据库查询性能研究...........................................................................31
3.2Oracle数据库查询性能研究........................................................33
3.3DBZ数据库查询性能研究....................................................................35
3.4本章小结....................................................................................37
4数据库性能实验对比分析................................................................38
4.1存储实验性能对比................................................................................38
4.2查询实验性能对比...............................................................................41
4.3本章小结...................................................................................45
5应用实例.....................................................................................46
5.1需求描述.........................................................................................46
5.2居民健康档案的内容...........................................................................48
5.3居民健康档案的数据模型.............................................................................49
5.4实例应用及分析................................................................................50
5.5本章小结.................................................................................58
6.1结论
本文分别对典型的关系型数据库和面向对象数据库存储和查询性能上进行比对研究。在第二章中采用性能代价的精确分析模型,深入地分析了Cache数据库,Oracle数据库的B树索索引和DB2数据库B树索引的存储性能。在第三章中又深入地分析了三种存储结构的查询效率。在第五章中根据实际环境的参数,对各个数据库的存储性能和查询性能进行计算对比,找出存储和查询性能最佳的数据库。
虽然从存储结构中我们得出了各个数据库存储和查询的效率对比的结果。然而,实践是检验真理的唯一标准。只有在实践之后,才能确定出各个数据库的存储和查询效率。为了迎合党中央、国务院提出的国家信息化发展战略和卫生部大力推行的医疗卫生体制改革,分析了居民健康档案的需求并选择了居民健康基本信息作为数据库的测试数据库性能的数据模型。在各个数据库中建立对应的表,并向其插入相同数目和相同大小的记录,分别得出不同数据库的存储空间大小。对比结果找出存储性能最好的数据库是Cache数据库,而通过性能代价的精确分析模型得出的存储性能最佳的数据库也是Cache数据库。所以,在分析模型中关于存储性能是符合实际情况的。同样在这三种数据库中分别查询相同数目的一记录,比较查询所用的时间找出查询性能最好的数据库是Cache数据库。在第五章第二节中得出查询性能最好的数据库也是Cach6数据库"所以,同样分析模型中查询性能也是符合实际情况的。
综上所述,在第二章中采用的性能代价的精确分析模型能够适用于分析数据库的存储性能和查询性能"这为以后分析数据库的存储和查询性能提供了理论依据"根据分析结果和实验的结果,Cach6数据库的存储性能和查询效率都是最好的。所以,在开发社区卫生信息系统时将会使用Cach德数据库。
参考文献:
[1G.AntoshenkovandM.Ziauddin.QueryProeessingandohttp://www.1daixie.com/dxglxlwPtimizationinOraeleRdb.TheVeryLargeDataBaseJournal5.1996:229一237
[2MurrayHill.ThePerformaneeofThreeDatabaseStorageStrueturesforManagingLargeObjeets.Al,&TBellLaboratories.1992:227一284.
[3Biliris,A.AnEffieientDatabaseStorageStruetureforLargeDynamieObjeets.Proe.IEEEst>,Int.eonf.onDataEngineering,Phoenix,Arizona.1992:301一308
[4]盖国强.深入浅出Oracle一DBA入门进阶与诊断案例.第1版.北京:人们邮电出版社.2006.
[5]MarieSt.Gelais,5MattTaylorJr.Oraele91数据库管理基础.Version1.1.OraeleCorporation,2002
[6]赵振平.成功之路:orade学习笔记.第1版.北京:电子工业出版社,2010.
[7]DBZCo印oration.DBZ调整数据库性能.DBZCo甲oration,2008.
[8]严蔚敏,吴伟民.数据结构(C语台-版).第1版.北京:清华大学出版社.200
[9]牛新庄.循序渐进DB2:DBA系统管理!运维与应用案例.北京:清华大学出版社,2009.
[10]肖富平.内存数据库存储及索引技术研究.2009:35一39.