论文摘要
本文是基于企业客户对数据库的实时反应性能及成本要求压力的背景下完成的快捷内存数据库的自主研发。传统的磁盘数据库就是把所有的数据都存放在磁盘上。磁盘数据库需要频繁地访问磁盘来进行数据的操作,由于对磁盘读写数据的操作一方面要进行磁头的机械移动,另一方面受到系统调用时间的影响,当数据量很大,操作频繁时,会对实时反应的性能产生影响。市场上商用内存数据库虽然各个方面都比较完善,但是存在授权费用昂贵,内存结构不透明等问题,不能够采用“直接存取内容”这种最高效的方法。在ICT行业中,还需要功能相对简单,对内存的组织灵活高效,开发扩展好,以及成本低廉的小型内存数据库,这种需求是本文研究的出发点。近年来,内存容量不断提高,价格不断下跌,操作系统已经可以支持更大的地址空间(计算机进入了64位时代),同时对数据库系统实时响应能力要求日益提高,这些因素都有利地支持着本文所提软件系统的实施。内存数据库系统带来的优越性能不仅仅在于对内存读写比对磁盘读写快上,更重要的是,从根本上抛弃了磁盘数据管理的许多传统方式,基于全部数据都在内存中管理进行了新的体系结构的设计,并且在数据缓存、快速算法、并行操作方面也进行了相应的改进,从而使数据处理速度一般比传统数据库的数据处理速度快很多,一般都在10倍以上,理想情况甚至可以达到1000倍。本文研究了内存数据库的各种技术,最终基于一致性哈希,Quorum NRW,Vector clock算法实现了一个基于C/S结构的内存数据库。本文的内存数据库采用java语言来实现。Java语言内置的多线程特性,对数据库实现大的并发量提供了很好的支持。
论文目录
摘要ABSTRACT第一章 绪论1.1 研究背景1.2 研究目的及意义1.3 国内外研究现状1.4 本文研究内容1.5 论文章节安排第二章 内存数据库的主要技术2.1 基础理论2.1.1 CAP2.1.2 最终一致性2.1.3 BASE2.1.4 I/O的五分钟法则2.1.5 不要删除数据2.1.6 RAM是硬盘,硬盘是磁带2.1.7 Amdahl定律和Gustafson定律2.2 主要算法2.2.1 一致性哈希2.2.2 Quorum NRW2.2.3 Vector clock2.3 缓存策略2.3.1 MemCached2.4 内存数据库架构2.4.1 Master/slave2.4.2 Multi-master2.4.3 Two-phase commit(2PC)2.4.4 Three-phase commit (3PC)第三章 多机热备份内存数据库的需求分析3.1 需求描述3.2 可行性分析3.3 功能需求分析3.3.1 备份3.3.2 加载3.3.3 数据一致性同步3.3.4 数据库架构3.4 性能分析3.5 系统环境分析3.5.1 硬件环境3.5.2 软件环境3.6 本章小结第四章 多机热备份内存数据库的设计4.1 项目背景4.2 整体架构4.3 内部模块4.4 状态机4.5 数据库启动流程4.5.1 同组所有服务器同时启动4.5.2 一个服务器启动时,其他服务器已经在Ready状态第五章 多机热备份内存数据库的实现5.1 系统功能模块实现5.1.1 MessageConnector5.1.2 Storage5.1.3 Synchronizer5.1.4 ParallelResponse5.1.5 Statemachine5.2 系统接口实现5.3 系统性能实现5.4 本章小结第六章 系统测试6.1 软件测试环境6.2 软件性能测试6.3 测试结果分析第七章 总结7.1 总结7.2 展望致谢参考文献
相关论文文献
标签:内存数据库论文; 热备份论文; 同步响应论文;