基于postgresql存储引擎的多线程化方法研究与实现

基于postgresql存储引擎的多线程化方法研究与实现

ID:33163645

大小:877.93 KB

页数:55页

时间:2019-02-21

基于postgresql存储引擎的多线程化方法研究与实现_第1页
基于postgresql存储引擎的多线程化方法研究与实现_第2页
基于postgresql存储引擎的多线程化方法研究与实现_第3页
基于postgresql存储引擎的多线程化方法研究与实现_第4页
基于postgresql存储引擎的多线程化方法研究与实现_第5页
资源描述:

《基于postgresql存储引擎的多线程化方法研究与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、分类号学号M201076018学校代码10487密级硕士学位论文基于PostgreSQL存储引擎的多线程化方法研究与实现学位申请人许:彦学科专业:软件工程指导教师:高建生副教授答辩日期:2012.5.17AThesisSubmittedinPartialFulfillmentoftheRequirementsfortheDegreefortheMasterofEngineeringResearchandImplementationontheMethodsofChangingPostgreSQLStorageEnginetoMutil-threadsStru

2、ctureCandidate:XuYanMajor:SoftwareEngineeringSupervisor:Assoc.Prof.GaoJianshengHuazhongUniversityofScienceandTechnologyWuhan430074,P.R.ChinaMay,2012华中科技大学硕士学位论文摘要一个高效的存储引擎对数据库系统的性能提升具有重要意义。本论文针对开源数据库管理系统PostgreSQL已有存储引擎的结构上的缺陷,提出一种将多进程结构改造为多线程结构的解决方法。PostgreSQL是一个多进程的数据库管理系统,每当有用户

3、连接到系统后,就创建一个新进程处理这个用户的连接,用户连接断开后该进程被销毁。进程的创建,调度和销毁的开销都很大,比线程的对应操作开销大很多,为了合理利用系统资源,应该使用多线程的结构。本文对存储引擎多进程结构改造为多线程结构所涉及的几个方面进行了分析与实现。对全局变量的改造提出线程本地存储等方法并讨论了方法之间的优劣,为线程控制改造引入Boost第三方库并设计了跨平台的替换方案,分析了进程通信机制采用的共享消息队列方法的原理,讨论了解决进程资源限制所使用的虚拟文件描述符机制。基于上述分析,对存储引擎多线程结构改造的具体实现进行了较为详细的论述。使用消息队

4、列结合线程信息的方法实现了线程通信机制,将启动后台服务进程分离为启动存储引擎主线程和启动后台服务线程,把后台写进程改造成以线程方式启动,对其正常情况和异常情况下的实现流程做了较详尽的阐述。所有单线程和多线程测试用例在Windows和Linux平台下都通过,存储引擎多线程改造基本成功。本文研究结果表明,多线程结构的存储引擎能够节省系统资源、充分发挥多核处理器的计算能力,提升数据库系统整体性能,如果进一步实现事务与线程脱离,还可以大幅提高分布式数据库系统的吞吐量。关键词:PostgreSQL存储引擎多进程结构多线程结构I华中科技大学硕士学位论文Abstract

5、Anefficientstorageenginehasimportantsignificancetotheperformanceofdatabasesystems.Inthisthesis,proposedasolutionofchangingPostgreSQLstorageenginefrommutil-processesstructuretomutil-threadsstructureforitsstructuraldefects.PostgreSQLisamutil-processesdatabasemanagementsystem,whenthe

6、reisauserconnectstothesystem,anewprocesswillbecreatedtohandletheuser'sconnectionandtheprocesswillbedestroyedaftertheuserdisconnectsfromthesystem.Processcreation,scheduling,anddestructioncostmuchoperatingsystemresourcethancorrespondingthreadoperation.Inordertotherationaluseofsystem

7、resources,weshouldusethemulti-threadsstructure.Inthispaper,analyzeandimplementseveralaspectsinvolvedinchangingPostgreSQLstorageenginefrommutil-processesstructuretomutil-threadsstructure.Proposedthreadlocalstoragemethodsforglobalvariablesanddiscusstheprosandconsbetweenthemethods,us

8、eBoostthird-partylibrariesanddesi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。