姓名 学号 指导
教师 职称
学历
课题名称 数据库性能监控系统
毕业设计(论文)类型(划√) 工程设计 应用研究 开发研究 基础研究 其他
本课题的研究目的和意义:
随着数据库应用的不断深入和扩大,数据库中的数据量 迅速增长,数据操作也越来越复杂,数据库工作效率逐渐下降。因此,实施对数据库的管理维护、性能调优越来越受到 广大数据库管理员(DBA)的关注和重视。虽然目前各种数据 库产品本身也提供了大量功能强大的性能监控和调试工具, 如 Oracle 的 OEM、Performance Manager、Capacity Planer, SQL Sserverd的SQL Server Profiler 等, 来帮助数据库管理人员对数据库性能进行调整、优化,但遗 憾的是,精通掌握这些工具并能通过它们来有效地分析数据 库性能状态,进而合理配置数据库以调整其性能也十分困难。 因此开发一个简单高效的数据库性能监控管理工具来辅助 DBA 对数据库进行性能分析调优成为数据库应用不断扩展的需要。
针对这种情况,本文结合业界先进的数据库管理经验, 开发了一个简单、实 用、方便、安全的数据库监控管理平台。它可以有效地辅助 数据库管理人员对数据库进行性能优化,确保数据库正常、 平滑、高效地运转。
文献综述(国内外研究情况及其发展):
现代数据库规模越来越大,数据量呈指数级上升,SQL Server 数据库系统一般在运行几年之后,性能会慢慢下降,因此数据库系统的性能越来越引起人们的重视。当前数据库监测,主要通过人工和一些常用的数据库监测工具。人工监测显然是非常费时费力效率又低的方式,用常有数据库监测工具以提供对数据库数据的分析跟踪是具有高效性,即时性的。SQL Server 性能的监测要考虑的因素包括,事件,网络数据包的统计信息,CPU的工作情况,数据库I/O的统计信息,I/O的工作状况以及磁盘读写情况等等诸多因素数。在这众多的因素里,很多是由客观情况(如硬件,网络环境等)决定的,而其中数据库结构设计和应用程序设计则是每个数据库编程人员都会遇到的要解决的问题。目前国际几大知名的大型关系数据库厂家,如Oracle、Sybase、IBM等,为了满足客户的需求,在其产品中不断加强数据库性能收集和指标分析一类的功能,但由于各个行业有其不同需求,数据库厂商目前还无法做到根据行业应用特征去建设一套灵活实用的企业数据库性能分析及优化系统,主要的工作还是必须由企业根据系统的运营特点来人工完成。随着技术发展,数据库监测会向着自动化发展,节省劳力,提高效率。
数据库优化的目的是更改系统的一个或多个组件,使其满足一个或多个目标的过程。对关系型数据库来说,优化是进行合理的资源配置,达到组件之间的均衡以改善其性能, 即增加吞吐量、提高响应时间。数据库性能优化要考虑到系统的各个组成部分。
(1)用户进程和服务器进程用户进程是 SQL 语句的提出者,服务器进程则负责执行由用户进程传递过来的SQL语句。用户进程和服务器进程是数据库性能调整的一个重要方面,尤其是当用户的数量随着时间的推移而不断增大时,建立与数据库的重复性临时连接的 Web 应用系统会导致性能下降。
(2)数据库实例: 一个数据库实例是存储结构和后台进程的组合体。其中,用来存放所有数据库进程共享的数据和控制信息的存储区域,当数据库一启动,就立即占有服务器的内存空间,库中高速缓存、字典高速缓存、 数据高速缓存、日志缓冲区以及大缓冲池和Java 池等组件的 大小对系统性能有极大的影响,它们直接影响磁盘 I/O 的频率 ,从而影响数据库效率。
实例的另一个组成部分是后台进程,主要有系统监视进程(SMON)、进程监视进程(PMON)、数据库写进程(DBW0)、日志写进程(LGWR)和检查点进程(CKPT)。后台进程负责进行执行磁盘 I/O 操作和监视管理其它进程进行可能 多的并行操作以获取更好的性能和效率。
(3)数据库由数据文件(Data files)和 Redo 日志文件(Redo Log files)组成,与其相 关的还有参数文件(Parameter files)、密码文件(Password files)和存档的日志文件(Archive Log files)等,它们的物理和逻辑 结构影响磁盘 I/O 效率,与系统的整体性能密切相关。
总体来说,对数据库的调整优化,应使用综合全面的调整方法,从检查外部环境入手,然后逐渐深入细节。整个过程使用自顶向下的概念,首先从整体环境考虑,仔细检查可能出现问题的部分,包括服务器、磁盘、网络等。在完成了对服务器环境的调整之后,检查影响数据库的全局参数,特别注意控制 SGA 配置的初始化参数以及数据库的整体行为。然后是数据库中单个表和索引,查看能够控制表行为的存储设置,并且查看这些设置适应单个对象处理需求的情况。最后是SQL语句,它们的执行效率极大地影响着数据库的性能,通过对其进行正确的调整可以使数据库的性能获得一个数量级程度的改善。应辨识哪些 SQL 语句使用最频繁,然后使用必要的工具进行调整以获得最优的执行计划
本课题的主要研究内容(提纲)和成果形式:
研究内容:实现数据库性能监控系统,包含数据库对象管理、性能指标设置、性能数据采集、实时性能数据展示、性能数据逻辑分析、性能数据告警设置、性能告警自动恢复等功能。
成果形式:代码及论文一份
拟解决的关键问题:
数据库监控系统的重要组成部分——数据库实时监控模块的实现。在该模块,因为监控数据要不断的反应给客户,并且反应方式大部分是通过各种图形(柱状 图、折线图等)、表格的方式表现,刷新频率较高,以保证较快的显示速度。
研究思路、方法和步骤:
(1).了解数据库技术的现状及发展趋势;
(2).熟悉软件信息工程设计、开发的方法和过程;
(3).掌握SQL SERVER数据库的基础语法、基本操作和日常管理方法;
(4).掌握C#、ASP.NET、JAVASCRIPT等高级语言的编程方法,掌握.NET开发工具的使用方法;
本课题的进度安排:
3.6-3.14 课题介绍,发放任务书
3.15-3.22 查阅资料,研究课题方案,完成开题报告
3.23-4.5 学习基础语言及相关知识,完成毕业作品系统设计框图
4.6-4.19 完成系统初步构架、数据库设计,开始撰写论文
4.20-5.10 完成界面、功能基本开发,根据进度撰写论文
5.11-5.17 系统完善提高
5.18-5.24 结果论证,完成论文初稿
5.25-5.31 毕业作品演示、组内互评,修改完善论文
6.1-6.7 论文定稿,答辩准备
参考文献:
[1]《数据库原理应用与实践》
[2]《SQL Server 2008基础教程》
[3]《SQL Server 2008 DBA入门经典》
[4]《JavaScript 权威指南》
[5]《C#入门经典》
[6]《Visual Studio C# 2010从入门到精通(中文版)》
[7][美]Kalen Delaney等. SQL Server 2005技术内幕:查询、调整和优化.电子工业出版社
[8]袁鹏飞,钟发英,马纳.SQL Server 2005性能检测与优化.人民邮电出版社
[9][美]Kalen Delaney等 ,2005-SQL SERVER 2005技术内幕存储引擎,电子工业出版社
[10]吴戈 等编著,SQL SERVER 2008学习笔记-日常维护.深入管理.性能优化,人民邮电出版社
[11]王珊,萨师煊.数据库系统概论.高等教育出版社
[12]钟克吟.SQL Server数据库应用程序性能优化方案研究.计算机与数字工程2008年第6期
[13]胡江奕. 基于SQL Server数据库应用系统性能的优化.计算机工程与应用 2001.2
[14]谷震离,侯迎春.SQL Server数据库性能优化方法.中图分类号:TP311.131
[15]朱珣.如何在数据库工程中优化SQL Server数据库性能.计算机与数字工程第32卷
指导老师意见:
指导老师(签名):
年 月 日
系(部)意见:
系(部)主任(签名):
年 月 日