日期:2014-05-16  浏览次数:20477 次

如何提高企业网站大数据量查询效率(转载)

?????????????????????????? 如何提高企业网站大数据量查询效率

摘自:http://clglctm.blog.hexun.com/26073206_d.html

摘? 要:目前企业信息化正在如火如荼地开展之中,企业信息量在急剧膨胀。这使得信息的搜索工作变得极为繁重起来。据调查统计,人们在平时的工作中,有70%的时间都花费在信息搜索上。由此,如何提高人们搜索信息的效率成为众多企业为之努力的方向。于是企业网站的Web应用系统中,信息查询设计的好坏直接影响到系统的响应时间和性能这两个关键指标,尤其是当数据量变得越来越大时,如何处理大数据量的查询成了每个程序开发人员都必须面对的问题。本文从系统架构设计,查询框架设计,数据库连接池技术三个方面,探讨如何解决Web应用的大数据量查询,并结合中南电力设计院综合MIS平台、质量管理信息系统及OA系统的技术情况,介绍了提高大数据量查询效率的经验。

关键词:系统架构 JAVA 数据库连接池 大数据量访问

?

前言

随着全球信息产业蓬勃发展,计算机网络构成了信息通信的高速公路。有了网络的全天候支持,企业的生产水平、服务质量及工作效率都得到了极大的提高。但同时由于客户访问量及数据量的不断增长,使后台服务器系统的并发承载能力面临极大的挑战。

结合中南电力设计院几年来质量管理信息系统、电子媒体归档系统、OA系统及综合MIS系统等网络应用积累的经验,从系统架构设计,数据库存取,数据库连接池技术三方面对大数据量的访问效率进行了研究,总结出一套适用于企业网站应用建设的解决方案。

?

系统架构设计

什么是系统的架构(Architecture)?一般而言,架构有两个要素:

·它是一个软件系统从整体到部分的最高层次的划分。

一个系统通常是由元件组成的,而这些元件如何形成、相互之间如何发生作用,则是关于这个系统本身结构的重要信息。

详细地说,就是要包括架构元件(Architecture Component)、联结器(Connector)、任务流(Task-flow)。所谓架构元素,也就是组成系统的核心"砖瓦",而联结器则描述这些元件之间通讯的路径、通讯的机制、通讯的预期结果,任务流则描述系统如何使用这些元件和联结器完成某一项需求。

·建造一个系统所作出的最高层次的、以后难以更改的,商业的和技术的决定。

在建造一个系统之前会有很多的重要决定需要事先作出,而一旦系统开始进行详细设计甚至建造,这些决定就很难更改甚至无法更改。显然,这样的决定必定是有关系统设计成败的最重要决定,必须经过非常慎重的研究和考察。

一般而言,软件架构设计要达到如下的目标:

·可靠性(Reliable)。软件系统对于用户的商业经营和管理来说极为重要,因此软件系统必须非常可靠。

·安全行(Secure)。软件系统所承担的交易的商业价值极高,系统的安全性非常重要。

·可升级性(Scalable)。软件必须能够在用户的使用率、用户的数目增加很快的情况下,保持合理的性能。只有这样,才能适应用户的市场扩展得可能性。

·可定制化(Customizable)。同样的一套软件,可以根据客户群的不同和市场需求的变化进行调整。

·可扩展性(Extensible)。在新技术出现的时候,一个软件系统应当允许导入新技术,从而对现有系统进行功能和性能的扩展

·可维护性(Maintainable)。软件系统的维护包括两方面,一是排除现有的错误,二是将新的软件需求反映到现有系统中去。一个易于维护的系统可以有效地降低技术支持的花费

·客户体验(Customer Experience)。软件系统必须易于使用。

·市场时机(Time to Market)。软件用户要面临同业竞争,软件提供商也要面临同业竞争。以最快的速度争夺市场先机非常重要。

一言以蔽之,系统架构决定着企业网站的WEB应用系统的生死存亡。

应用系统的发展经历了从两层架构到三层(或多层)架构的过程,在应用系统中通常包含三个逻辑组成部分:表达逻辑、事物逻辑、数据存储。目前的三层(或三层以上的)B/S架构通常是以Brower/Web server/DataBase形式为主,这可以将表达逻辑分布在客户浏览器上,数据存储分布在数据库服务器端,而事务逻辑单独作为一层,结合在Web服务器(或其它服务器)中。这样可简化应用发布和维护,更利于软件集群化的分担模式,增加并发处理能力,灵活的完成多主机的分担切