面向互联网应用的存储引擎优化

来源 :浙江大学 | 被引量 : 0次 | 上传用户:snrgw91924
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
本文先介绍了在互联网环境下传统关系数据库技术遇到的挑战,认真分析了互联网应用(特别是博客类社交应用)的具体特征:数据量巨大,有明显的数据热点;并发请求量巨大,但是访问模式读多写少,而且很多都是键值类型的查询(比如按主键查询就占了很大的比例)。然后介绍了在互联网应用特征下传统的关系数据库的瓶颈。接着分析了目前学术界和工业界对这个问题展开的研究,包括nosql技术,读写分离,分库分表和分布式数据库等。分析了这些方法的不足之处,然后引出了本论文要做的工作及意义。本论文依托作者实习中参与的一个mysql自主存储引擎的开发实践,重点介绍了针对互联网应用数据热点明显,读多写少,简单键值查询居多的特点,设计和实现的一个记录级的缓存,专门用于缓存热点记录。详细分析了设计思路,整体架构和主要流程等。行级缓存的设计使得自主存储引擎的性能成倍于mysql自身的innodb存储引擎。虽然由于行级缓存的存在,使得自主存储引擎的性能明显优于innodb,但是在性能测试中发现自主存储引擎在稳定性和磁盘IO方面还存在问题。主要表现在一方面引擎的事务吞吐和磁盘IO请求方面存在震荡和抖动的现象,另一方面磁盘IO请求碎片现象明显,IO合并不理想。为了解决这个问题,作者利用一个自主开发的真实模拟互联网社交类应用(博客)的性能基准测试工具来进行性能分析与优化。主要侧重于磁盘IO方面,包括调整写脏块的算法和策略以及异步IO优化等。经过优化后,在真实模拟互联网社交类应用(博客)的性能基准测试工具的测试下,自主引擎性能表现优异,事务吞吐优于innodb存储引擎5倍以上,而且性能表现平稳,没有明显的震荡。
其他文献
随着计算机的快速普及和互联网的迅猛发展,网络已经成为人们日常生活中的一个重要组成部分。各种网络应用也快速覆盖到人类生活领域的各个方面,持续增长的需求和不断降低的开发
由于网球比赛视频拥有巨大的商业价值和广阔的应用前景,如何自动分析和检索成为当前学者的研究热点。本文主要研究如何标注网球视频盘局。第一,对网球视频中的广告进行了定位。
随着科技的发展,人们对于互联网和科技产品的依赖越来越严重,用户的使用需求也正在不断的提高,用户以最自然的表达方式与机器进行交互成为一种趋势。这对人机交互来说是一个新的
在自然界中处处都存在着无规律,无规则形态的变化复杂的几何体。通常人们对于规律,规则形态的几何体采用传统的欧几里得几何定理去描述,如使用直线段、圆弧、平面、以及曲面这些
近年来,随着互联网技术,Java技术和REST软件架构的发展,在Java Web领域主要存在两种应用形式:传统Web网页应用和RESTful API,REST以其简洁的风格,可伸缩性好,松耦合的特点得
生物体内的新陈代谢过程完成了生命体基本的物质转换和能量代谢等功能,是生物体存在的基础。通过对生物体代谢系统的研究和分析,人们可以对生物体代谢系统的性质和行为进行定性
随着计算机的广泛应用,传统的软件开发方法已经无法满足社会的要求,基于构件的软件开发方法己被广泛接受,并逐步成为解决软件危机、提高软件生产率和确保软件质量的有效途径
软件测试是保证软件质量的重要而有效的手段,已成为软件工程中重要且不可或缺的一个环节。随机测试以其无偏性,自动化高,速度快和易于实现等优点使其成为近年来软件测试领域的一
Android系统是目前最受欢迎的智能手机操作系统,吸引大量的应用程序开发者为其开发应用程序。由于应用程序开发者良莠不齐,致使Android市场上存在大量的恶意应用程序,如何快速准
现代数字信号处理器经常采用超长指令字体系结构。与通用处理器普遍采用的超标量体系结构相比,超长指令字将调度任务交由编译器完成,这对编译器的后端优化提出了挑战。   BW