情境1如何选择数据库产品?背景:如何为应用系统选择后台数据库?答案就是:合适的就是最好的。项目开始进行需求调研了,在谈到使用哪个数据库软件时,客户询问Smith,大家都用什么数据库啊?都有哪些流行的数据库管理系统呢?Smith说:现在主流的中大型数据库产品如Oracle、SQLSERVER,DB2,Sybase等,也有一些小型的Access,Mysql等,具体系统该用哪个,是看很多综合因素的,我们先来介绍一下这些数据库产品的特点吧。1.1主流的数据库产品介绍主流的数据库软件是根据市场调查中的产品销售额度来评价的,目前,商品化的数据库管理系统以关系型数据库为主导产品,在目前国内的数据库产品市场,甚至是全球的数据库产品市场,有几大主流的关系型数据库产品,下面将一一简单介绍:1.1.1ORACLEORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的大型通用关系型数据库之一。它的一个主要特点是能在所有主流操作系统平台上运行(包括windows、Linux、Unix等),支持所有的工业标准,提供给用户一个高性能、低成本的完整解决方案,并且一直在不断地根据信息技术的需求研究开发与之配套的新功能,新版本之间完全向下兼容,版本移植和平台的移植风险较少,受到各大企业客户的青睐并得到广泛的应用。目前市场使用的Oracle数据库版本从Oracle8、Oracle8i、Oracle9i、Oracle10G、Oracle11G不等,从版本后缀特点可以看出该数据库产品的技术发展路线(具体请参见本情境Oracle数据库产品发展阶段部分)。1.1.2SybaseSybase公司在1987年推出了Sybase数据库产品,它也是一款支持多操作系统平台的通用关系型数据库。早年Sybase是最流行的数据库产品之一,于是被微软看中之后,Sybase与微软形成了战略伙伴关系,微软购买了Sybase数据库产品技术,并且在此基础上迅猛发展,形成了目前市场最主流的关系型数据库产品之一——SQLSERVER数据库。1.1.3SQLSERVER上面提到,微软的SQLSERVER数据库是购买了Sybase公司的Sybase数据库之后发展起来的大型通用关系型数据库产品,从1995年正式发布的SQLSERVER6.0是一款小型商业数据库,1998年发布了基于WEB的SQLSERVER7.0数据库,2000年发布了企业级的SQLSERVER2000数据库,因为其功能全面、简单易用,此版本是目前市场上应用比较广泛的版本;为了进一步与微软开发套件集成,2005年发布了引入了.NETFramework的SQLServer2005,并在此基础上,于2008年推出了最新版本SQLServer2008。SQLSERVER数据库只支持Windows操作系统,没有开放性,但是因为提供简单易用的图形化操作界面,深受一些用户的喜爱,在很多的高校或者培训结构,一般作为入门的数据库系统学习。1.1.4DB2DB2(请注意其中的2并非产品版本号)是IBM公司开发的一个适应于多平台、大型的关系型数据库产品,因为其具有良好的开放性和并行性,DB2在企业级的应用最为广泛,在全球的500家最大的企业中,几乎50%以上用DB2数据库服务器,目前广泛应用于金融、电信、保险等较为高端的领域,尤其是在金融系统备受青睐。从1996年发布DB2V2版本推出并改名为DB2UDB(DB2通用数据库)。2008年发展到V9版本,将数据库领域带入到XML时代。1.1.5MySQLMySQL在开发源代码世界和Web团体社区中都是非常有名的流行数据库系统,而且也是免费数据库软件的标准代表,因为其免费、面向大众的、通俗的解决方案,吸引了大量的企业用户和开发用户,多应用在小型的Web网站应用系统上,但是不太合适大规模、要求高可靠性的应用系统。1.1.6国产数据库前面介绍的都是国外的数据库产品,也在应用市场上占据了主要位置,但是在这里也顺便介绍几大国产数据库产品:OpenBASE是东软集团有限公司软件产品事业部推出的我国第一个自主知识产权的商品化数据库管理系统,该产品由东软集团有限公司软件产品事业部研发并持有版权。10多年来,OpenBASE已逐渐形成了以大型通用关系型数据库管理系统为基础的产品系列。2007年东软正式推出了OpenBASE的最新版本OpenBASEV6.0。在新版本中对OpenBASE之前各版本的功能进行了扩充和优化,功能、性能、可用性和可靠性方面都得到了较大提高。目前该产品已广泛应用于办公自动化、医院、房地产、多媒体教学、电子商务、信息安全等数十个领域。DM(达梦)数据库有限公司是从事数据库管理系统研发、销售和服务的专业化公司,其前身华中理工大学(现华中科技大学)达梦数据库与多媒体研究所成立于1992年,是国内最早从事数据库研究的科研机构。达梦数据库是大型通用数据库管理系统,从1988年起,先后有六代数据库产品问世.从第一个自主版权的数据库管理系统DM1到最新的DM6.目前广泛应用在消防、物流与财务系统上。图1_1是根据一个调查机构于2008年所有调查的各大数据库产品的市场占有率分布图,仅供参考:图1_1数据库产品市场占有率客户听了Smith的介绍以后,虽然对几种数据库有了一个大致的了解,可是他对于如何为他的系统选择一个合适的数据库系统还是没有一个思路,于是Smith为客户分析了选择数据库产品的几个主要指标:1.2选择数据库软件产品的要素我们的目标是选择一个最合适的数据库产品,通常我们从以下几个方面来考虑:1.2.1性能考虑性能一般是面向大量的操作和用户,在大型数据库产品上来考虑,但是大型数据库产品Oracle、DB2、SQLServer这三个中哪一个是性能最好、处理最快、可扩展性最好呢?这个问题在数据库领域也被讨论和争论很多年了,每个公司也会投入大量的资金来证明自己是最优的,在过去的这些年所获得的性能上的改进说明,这三个公司的中任何一个都有足够的能力来提供比大多数应用程序所需要的更好的速度、可扩展性以及性能。对于大多数的企业来讲这已经足够了。1.2.2平台因为每个数据库产品与操作系统平台结合读情况都不一样,所以企业对于平台的选择也对数据库产品的选择有所影响。在大型的数据库产品中,IBM的DB2毫无疑问占领了大型机的市场;SQLSERVER致力于为Windows操作系统提供最优解决方案,不支持其他平台;Oracle支持多平台操作系统,并且提供较低风险的移植。1.2.3价格价格是目前一些中小企业一个需要重点考虑的地方,也是一个很复杂的因素。因为这个个价格不仅仅是指数据库产品的购买价格,还包括服务器配置、产品系统的维护、个人许可、额外工具,开发成本以及技术支持等费用,特别是人力资源成本是企业需要提前预知的长期成本。比如SQLSERVER数据库系统和Oracle数据库系统的对比来说,数据库服务器的要求方面,Oracle数据库系统的要求高过SQLSERVER;从人力成本的角度考虑,根据应用市场情况分析,一个Oracle数据库管理员的成本远远高出SQLSERVER数据库管理员(目前市场上也出现很多维护服务外包公司,专门提供服务人员为企业提供高质量的系统管理和维护服务);从软件本身的购买价格而言,对于具有一定规模的企业级应用需求,Oracle数据库软件产品的价格也是高过SQLSERVER的。1.2.4可用资源部署一套完整的用户解决方案,需要有一系列的配套支持资源,如服务器(应用程序服务器、数据库服务器)和人力资源,人力资源包括系统操作用户和系统维护人员,其中维护人员包括应用程序维护人员以及数据库管理员。故在资源系统中,涉及到跟数据库相关的是数据库服务器和数据库管理员,对于一般的系统而言,会考虑现有的服务器是否能够满足新系统的需求?现有的维护人员是否能够满新系统的需求?如果原系统的相关配套在满足系统现有需求的基础上还有一定的可发展空间的话,是可以考虑沿用原有的数据库系统的。1.2.5建议方案如果是一般的小型Web网站应用,使用免费的MySQL是一个可以考虑的选择,并且因为其简单易用,维护成本等综合成本相对较低;如果是数据应用处理稍大,但也不是海量数据,对数据库的可靠性和稳定性要求不是很高,同时希望维护成本也不高的情况下,可以考虑选择SQLSERVER;如果要实现的是较高端的企业应用,并且需要处理的并发数据量较大,同时对于数据库的可靠性、安全性和可扩展性有很高的要求,那么Oracle应当是一个不错的选择,不过应用Oracle系统的维护成本较高。客户综合了各种因素,并且组织网上购物系统甲方项目组相关人员专门召开了一个邀请Smith参加的小型讨论会,会议研究决定,选择Oracle公司的Oracle11G作为本系统的数据库系统。因此,Smith决定再次针对Oracle数据库产品进行一个更详细全面的介绍,让大家对Oracle进行一个具体的了解。1.3Oracle11G数据库产品介绍Oracle是Oracle公司出品的历史比较悠久的十分优秀的DBMS。当前,OracleDBMS以及相应的开发工具和其他相关产品几乎在全世界各个工业领域中都会用到。无论是大型企业中的数据仓库应用,还是中小型企业中的联机事务处理业务,都可以找到成功使用Oracle数据库系统的典范。1.3.1Oracle公司介绍甲骨文公司(Oracle)是世界上最大的企业软件公司,向遍及145多个国家的用户提供数据库、工具和应用软件以及相关的咨询、培训和支持服务。甲骨文公司总部设在美国加利福尼亚州的红木城,全球员工超过40,000名。甲骨文公司1989年正式进入中国市场,成为第一家进入中国的世界软件巨头,标志着刚刚起飞的中国国民经济信息化建设得到了甲骨文公司的积极响应,甲骨文首创的关系型数据库技术也从此开始服务于中国用户。Oracle公司的产品线包括数据库、应用服务器、开发工具包、电子商务套件以及产品的培训认证(OCA、OCP、OCM)。下面主要针对数据库产品进行介绍。1.3.2Oracle数据库产品发展阶段1979年,Oracle公司首先推出基于SQL标准的第一代关系数据库产品,并取名为Oracle;之后十来年经历了多次更新与发展,到了Oracle8版本,已经成为一套比较稳定的大型关系型数据库系统了,这个版本也为支持Internet、网络计算等奠定了基础;从Oracle8之后,为了适应Internet技术的飞速发展,于1999年推出世界上第一个Internet数据库Oracle8i,这一版本中添加了大量为支持Internet而设计的特性同时这一版本为数据库用户提供了全方位的Java支持;2001年Oracle又推出了新一代Internet电子商务基础架构Oracle9i,在Oracle9i的诸多新特性中,最重要的就是RealApplicationClusters(RAC);2004年发布了最新数据库产品----Oracle数据库10g(Oracle(r)Database10g),它与同日发布的Oracle应用服务器10g(OracleApplicationServer10g)和Oracle企业管理器(OracleEnterpriseManager10g)一起共同构成了全球首个面世的集成式网格计算架构软件——Oracle网格计算(OracleGridComputing),这一版的最大的特性就是加入了网格计算的功能;在此基础上的三年之后,Oracle公司趁势发布了11g版本,Oracle11g提供了高性能、伸展性、可用性、安全性,并能更方便地在低成本服务器和存储设备组成的网格上运行,Oracle11g也是甲骨文公司30年来发布的最重要的数据库版本根据用户的需求实现了信息生命周期管(InformationsLifecycleManagement)等多项创新;最后并让我们期待还未发布的未来版本——Oracle12G吧。1.3.3Oracle认证体系由于Oracle产品的特殊性,作为全球最大的数据库厂商,Oracle在行业中有着不