基于Windows的MySQL体系结构分析及性能优化技术的研究Word文件下载.docx

上传人:b****5 文档编号:15844011 上传时间:2022-11-16 格式:DOCX 页数:8 大小:63.59KB
下载 相关 举报
基于Windows的MySQL体系结构分析及性能优化技术的研究Word文件下载.docx_第1页
第1页 / 共8页
基于Windows的MySQL体系结构分析及性能优化技术的研究Word文件下载.docx_第2页
第2页 / 共8页
基于Windows的MySQL体系结构分析及性能优化技术的研究Word文件下载.docx_第3页
第3页 / 共8页
基于Windows的MySQL体系结构分析及性能优化技术的研究Word文件下载.docx_第4页
第4页 / 共8页
基于Windows的MySQL体系结构分析及性能优化技术的研究Word文件下载.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

基于Windows的MySQL体系结构分析及性能优化技术的研究Word文件下载.docx

《基于Windows的MySQL体系结构分析及性能优化技术的研究Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于Windows的MySQL体系结构分析及性能优化技术的研究Word文件下载.docx(8页珍藏版)》请在冰豆网上搜索。

基于Windows的MySQL体系结构分析及性能优化技术的研究Word文件下载.docx

4.1课题的研究方法-5-

4.2课题设计方案-5-

4.3课题可行性分析-7-

5.课题计划进度和预期成果-7-

5.1计划进度-7-

5.2预期成果-8-

-8-

,构建高性能MySQL-9-

1.课题来源及类型

随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式,数据库技术应运而生。

在数据库从诞生到现在的不到半个世纪里,形成了坚实的理论基础、成熟的商业产品和广泛的应用范围,也吸引了越来越多的学着加入这个领域。

同时,对高性能的数据库应用的需求不断扩大,这就需要对数据库技术的原理以及其优化技术的精髓拥有较深的理解。

基于此,本文主要结合MySQL数据库,对数据库技术的实现原理做深入剖析,并从中对数据库优化技术做进一步研究。

2.课题的意义及国内外现状分析

数据库技术从诞生到现在的不到半个世纪里,形成了坚实的理论基础、成熟的商业产品和广泛的应用范围,也吸引了越来越多的学着加入这个领域。

在这期间,数据库逐渐成为政府、企业以及个人日常工作、生产和生活的基础设施。

数据库相关领域的研究也取得了日新月异的进展,30年间数据库领域获得了三次计算机图灵奖(C.W.Bachman,,J.Gray),充分地说明了数据库是一个充满活力和创新精神的领域。

相关领域的商业产品亦是层出不穷,目前世界上最流行的数据库产品是仍然以Oracle、IBM和微软三大商用数据库厂商的产品为主导,其中Oracle占据较大优势,但是开源软件正在占领甲骨文数据库软件的安装份额。

由独立甲骨文用户集团(IOUG)实施的调查发现,约60%的IT设施在使用某种形式的开源软件,其中MySQL是替代甲骨文软件的最流行开源软件。

真正以MySQL为名的数据库是在1994年开发,最初是一个小型关系型数据库管理系统,经过这些年的发展,MySQL被广泛地应用在Internet上的中小型网站中。

由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

在国内,由于种种原因,MySQL的普及率尚不如sqlserver,但是在那些上规模的企业尤其是外企里面,MySQL还是拥有较多的支持者,原因在于它是免费的,不会产生授权费用的问题,此外,MySQL功能已足够强大,除了拥有基本的增、删、改、查、联接以及嵌套查询外,它还支持视图、存储过程、触发器以及事务,集群的功能。

而且,由于其开源的特点,对了解数据库的实现原理,深入理解数据库技术有很好的帮助,同时也有助于更好的使用MySQL和其他数据库产品。

3.课题的研究目标、研究内容和拟解决的关键问题

3.1课题研究目标

本文将通过对MySQL数据库源码的分析,逐步了解MySQL数据库的逻辑架构,以此为基础,深入探讨MySQL数据库的优化技术,包括架构优化和索引、查询优化、OS和硬件的优化以及MySQL的一些高级特性,比如游标、准备语句、自定义函数、排序规则、全文搜索、以及外间约束等等。

研究目标是:

通过对以上这些内容的探讨,最终对MySQL数据库的实现技术和优化技术有深入的了解,并希望能将数据库的优化技术灵活应用到不同的应用环境中去。

并通过对MySQL数据库实现技术的了解,创建简单的的数据库存储引擎、简单的的查询优化器。

3.2课题研究内容

本文将通过对MySQL数据库源码的分析,逐步了解MySQL数据库的逻辑架构,以此为基础,创建简单的的数据库存储引擎、简单的的查询优化器。

然后深入探讨MySQL数据库的优化技术,包括架构优化和索引、查询优化、OS和硬件的优化以及MySQL的一些高级特性。

本文主要研究内容包括:

首先,对MySQL数据库源码进行分析,对MySQL数据库的逻辑架构做初步了解。

图3.1MySQL服务器体系结构逻辑简图

然后详细分析MySQL数据库执行查询的工作和控制流程,包括处理连接和创建线程、解析查询、优化查询和执行查询。

并通过创建简单的的数据库存储引擎、简单的的查询优化器,对其逻辑架构以及查询处理流程做深入的了解。

图3.2MySQL的查询处理流程

其次,根据对MySQL数据库逻辑架构的了解,深入探讨MySQL数据库的优化技术,包括架构优化和索引、查询优化、OS和硬件的优化以及MySQL的一些高级特性,比如游标、准备语句、自定义函数、排序规则、全文搜索、以及外间约束等等。

最后,本文在总结MySQL数据库实现技术和优化技术的基础上,提出对不同应用中数据库优化技术的灵活应用。

3.3拟解决的关键问题

针对MySQL数据库的开源特点,以MySQL的源码为基础,创建自己的数据库存储引擎和查询优化器,并将它们部署在windows系统上,

这一部分关键要实现存储引擎的必备功能,包括以下几个方面:

1)对表文件的操作,即实现创建、打开、关闭和删除表文件的功能。

2)对数据的读写以及更新和删除操作,即实现将数据的可重复写入和读出存储介质。

3)实现索引功能,索引可以有效的实现对数据迅速的随机读写和区间查询操作,建立索引将涉及到对文件的相对复杂的操作,具体实施将会参考源码中所采用的方法。

4)实现对事务的支持,对事务支持的重要性不言而喻,主要需要解决如何开始一个事务,以及如何提交和撤销事务。

这一功能比较复杂,MySQL自带的存储引擎中也只有BDB和InnoDB实现了这一功能,可以从中作为参考。

之后通过对MySQL数据库的优化技术的探讨,深入了解其优化技术,改进系统的执行性能,测试、分析并改进其效果,并灵活的应用于不同的应用环境中。

主要解决以下问题:

1)MySQL架构优化方面,主要探讨架构优化下的数据类型的选择以及索引机制的合理使用。

2)MySQL查询优化方面,主要解决如何对查询进行重构,如何针对不同类型查询选择不同的优化方案,包括count、guoupby和distinct,以及limit和offset等。

最后还将通过相关资料探讨查询缓存和视图对优性能的影响。

3)MySQL配置参数对性能的影响,包括内存和I/O。

内存方面具体的包括每个连接使用的内存以及连接池大小的选择,I/O方面主要讨论将数据同步到硬盘和进行恢复所产生的性能影响以及带来的风险。

最后还必须编写对所添加的存储引擎的测试程序,以及使用测试工具,对优化后所带来的性能上的预期目标进行验证,比如使用TheMySQLBenchmarkSuite、MySQLsuper-smack、MyBench等已有的专门针对MySQL的测试工具。

4.课题的研究方法、设计及试验方案,可行性分析

4.1课题的研究方法

首先识别本课题的风险因素,由于MySQL是开源产品,相关的技术资料以及工具软件比较丰富,因而课题的研究资料充足。

但是由于本课题研究的是性能方面的优化技术,而性能优化技术本身脱离不开软件运行的硬件环境,但是多样的化硬件系统搭建方面存在不足,因而在性能调优方面,会遇到计算机本身硬件系统的限制,所以操作系统以及硬件的优化技术只是简单的讨论,而不在深入部署实施的范围之内。

对于性能优化,主要通过文献检索以及官方网站,获取相关的技术资料,再在本地进行实际部署,并运用相关的测试工具,掌握对MySQL的性能量化的技术,最后分不同的方面对MySQL的性能进行调优,并测试相关效果,做出对比。

4.2课题设计方案

由于MySQL作为世界上最流行的开源数据库产品,相关的研究资料比较丰富,因此可以通过MySQL官方网站上的MySQL的最新信息,首先对MySQL服务器的体系结构做一个整体的了解,然后部署运行MySQL,了解MySQL的运行机制,并且可以分析源码,以深入理解MySQL具体的实现技术,最后通过查阅相关资料,对MySQL的优化技术做深入的探讨。

首先是对MySQL服务器的体系结构做整体的了解,对MySQL体系结构中的SQL接口、查询解析器、查询优化器和查询执行引擎、缓存、缓冲机制做一个整体的了解,熟悉各个部分的作用。

通过实际部署运行MySQL,了解MySQL的主要功能,理解MySQL数据库的整体的体系结构。

同时研究MySQL的相关测试工具,以便以后在对MySQL进行调试过程中,对MySQL的性能有个量化的标准。

图4.1MySQL服务器体系结构逻辑图

然后,以此对体系结构整的了解为基础,逐步深入的分析MySQL的实现技术。

分析MySQL存储引擎,并模拟实现自己的MySQL存储引擎。

作为开源产品,MySQL源码是可以自由方便获取的,因此可获取其源代码,通过对源码的阅读,了解其基本实现原理,并对其做出简单的的修改,加深了解MySQL的基本的查询处理流程。

再通过对MySQL的存储引擎的实现技术的分析,了解相关类的作用和相互之间的逻辑关系,了解MySQL是如何实现读写数据以及支持并发访问和索引、事务功能的。

可以创建自己的存储引擎,模拟实现MySQL服务器自身存储引擎的基本功能,完成对MySQL存储引擎技术的深入的认识。

继续分析MySQL源码,对查询优化器的实现技术做深入的分析。

理解MySQL的查询树的概念,并分析MySQL是如何通过使用查询树结构,如何运用查询优化树策略,实现其查询优化器的。

并模拟实现一个自己的查询优化器,并添加到MySQL中,执行查询优化。

图4.2查询处理流程概览:

最后,根据对MySQL数据库逻辑架构以及实现技术的了解,深入探讨MySQL数据库的优化技术,包括架构优化和索引、查询优化、OS和硬件的优化以及MySQL的一些高级特性,比如游标、准备语句、自定义函数、排序规则、全文搜索、以及外间约束等等。

4.3课题可行性分析

基于以上分析结果,我们认为本文的研究方法和设计方案切实可行,可操作性高,研究结果也具有很高的实用性,课题具有一定的研究价值。

5.课题计划进度和预期成果

5.1计划进度

开始时间

结束时间

主要工作内容

2010年12月

2011年01月

查阅文献资料,编写课题开题报告

2011年02月

研究数据库的逻辑架构

2011年03月

分析MySQL源码,构建自己的数据库存储引擎和查询优化器

2011年04月

深入探讨MySQL数据库的优化技术

2011年05月

撰写论文正文

5.2预期成果

总结全文,本文预期取得的主要研究成果如下:

分析MySQL的逻辑架构以及实现技术,对MySQL的内部细节深入的了解,并构建自己的数据库存储引擎和查询优化器。

主要研究MySQL如从SQL接口开始,由Handle_connection_sockets(0)方法监听每一个连接并创建线程,Handle_one_connection(thd)方法识别SQL命令,Dispatch_command(command,thd…)方法将控制权转入查询解析器,解析查询命令,并由优化器对查询过程做优化,最后Join->

optimize()方法执行这个查询,并由Sub_select(…)函数调用某个存储引擎去读取和处理元组数据,然后把结果返回给客户。

同时可以了解出错处理机器的处理机制,以及实现添加简单的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1