JAVA中数据库连接池技术的探讨
***
(吉林师范大学数学**级*班, 吉林四平136000)
指导教师:陶 袁(副教授)
摘要:本文通过对影响数据库性能的因素进行分析,指出影响数据库性能的根本原因在于数据库的连接管理问题.提出了应用数据库连接池技术的解决方案.分析了数据库连接池技术的工作原理,并通过一个实例给出了解决方案.
关键字:爪哇语言; 数据库性能;数据库连接池
中图分类号:TP 311. 52
Database Connecting Pond's Technology Discussing In JAVA
* * *
(Class * Grade 20** Department of Mathematics Jilin Normal University Siping Jilin 136000)
Directive Teacher : Tao Yuan(Associate Professor)
Abstract:In this article we point out the factor of affecting the database performance and question which controlling of connecting database which affecting the major reason of database performance. Proposed of solution of database connection pond technology .Analyzed principle of the database connection pond technology ,in the final given the solution through an example.
Keywords: Java language; Database performance; Database connecting pool
CLCND: TP 311. 52
2004 年伊始,电子商务的冲击波又一次在世界范围内掀起巨浪,各类商务网站倍受大量用户的青睐,商务网站的访问量也就越来越大.这种批量、并发性的访问使得商务网站对用户的响应速度会明显变慢,甚至有可能使用户无法登陆网站.不堪重荷的商务网站管理公司,除了提高和优化网站服务器的整体性能外,目标也同时转向程序设计方面--数据库的连接性能优化方面已经成为重点.JAVA 语言的跨平台性、可移植性及安全性等特性,使其应用越来越广泛,尤其在网络应用中更显优势.采用以JAVA 语言为基础的连接池技术是解决连接数据库瓶颈的一种很好的解决方案.它能够高效地实现数据库连接的管理,从而使系统性能获得显著的改善[1].在传统的两层结构中,客户端程序在启动时打开数据库连接,在退出程序时关闭数据库连接.这样,在整个程序运行中,每个客户端始终占用一个数据库连接,即使在大量没有数据库操作的空闲时间,如用户输入数据时,从而造成数据库连接的使用效率低下. 所以数据库的性能问题亟待需要解决.
1 数据库简介
数据库技术是计算机科学技术中发展最快、应用最广泛的领域之一,它是计算机信息系统与应用程序的核心技术和重要基础.自从20世纪50年代中期计算机的应用由科学扩展到数据处理,数据库技术的重要性就日益被人们所认识.时至今日,数据库技术已经形成了较为完善的理论体系和实用技术,成为计算机科学技术的一个重要的分支[2].
1.1 数据库的概念
数据库是统一管理的相关的集合.这些数据以一定的结构存放在存储介质(一般为磁盘)中.其基本特点是:数据能够为各种用户共享,具有最小冗余度.数据对程序的独立性以及由数据库管理系统统一管理和控制等.数据库本身不是独立存在的,它是组成数据库系统的一部分[3].
1.2 数据库的作用
数据库是计算机应用系统中的一种专门管理数据资源的系统.数据有多种形式,如文字、数码、符号、图形、图像以及声音等.数据是所有计算机系统所要处理的对象.人们所熟知的一种处理办法是制作文件,即将处理过程编成程序文件,将所涉及的数据按程序要求组织成数据文件,用程序文件来调用.数据文件与程序文件保持着一定的对应关系.在计算机应用迅速发展的情况下,这种文件式方法便显出不足.比如,它使得数据通用性差,不便于移植,在不同文件中存储大量重复信息、浪费存储空间、更新不便等.数据库系统便能解决上述问题[4].数据库系统不从具体的应用程序出发,而是立足于数据本身的管理,它将所有数据保存在数据库中,进行科学的组织,并借助于数据库管理系统,以它为中介,与各种应用程序或应用系统接口,使之能方便地使用数据库中的数据.
2 影响数据库性能的原因
Java语言进行和数据库有关的应用开发中,一般都使用JDBC来进行和数据库的交互,其中有一个关键的概念就是Connection(连接),它在Java中是一个类,代表了一个通道.通过它,使用数据的应用就可以从数据库访问数据了[5].对于一个简单的数据库应用,由于对于数据库的访问不是很频繁.这时可以简单地在需要访问数据库时,就新创建一个连接,用完后就关闭它,这样做也不会带来什么明显的性能上的开销.但是对于一个复杂的数据库应用,情况就完全不同了.频繁的建立、关闭连接,会极大的减低系统的性能,因为对于连接的使用成了系统性能的瓶颈.要有效的解决这个问题.就需要提出了一个合理、有效的连接管理策略,避免对于连接的随意、无规则的使用.
3 数据库连接池的基本原理
数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏[6].这项技术能明显提高对数据库操作的性能.数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中,这些数据库连接的数量是由最小数据库连接数来设定的.无论这些数据库连接是否被使用,连接池都将一直保证至少拥有这么多的连接数量.连接池的最大数据库连接数量限定了这个连接池能占有的最大连接数,当应用程序向连接池请求的连接数超过最大连接数量时,这些请求将被加入到等待队列中.
4 数据库连接池关键问题分析
4.1 并发问题
为了使连接管理服务具有最大的通用性,必须考虑多线程环境,即并发问题.这个问题相对比较好解决,因为Java语言自身提供了对并发管理的支持,使用synchronized关键字即可确保线程是同步的.使用方法为直接在类方法前面加上synchronized关键字,如:
public
上一篇:
JavaWeb人事管理系统论文(word文档)
下一篇:
毕业论文目录怎么自动生成?