高性能NOSQL存储系统的研究与实现
发布时间:2017-10-22 14:06
本文关键词:高性能NOSQL存储系统的研究与实现
更多相关文章: 海量数据 快速存储和快速查 NOSQL 内存管理 Libevent
【摘要】:随着web2.0的兴起和社交类网站的快速发展,如何快速查询和处理海量数据已经成为各大公司关注的焦点。对数据处理效率的提高,能够提高用户体验,并且能够节约人力和物力。稳定的运行、高容错性能、快速的数据存储和处理、易用的扩展能力已经成为现代数据库系统的典型特点。 NOSQL数据库指的是不存在明确定义的数据存储仓库以及非关系型数据库。这种类型的数据库操作无须使用SQL语句,数据之间的联系也不存在关系这种概念。NOSQL数据库与RDBMS相比的优势在于支持分布式运行,运用部署与普通硬件的方法进行透明的节点扩展。比较典型的NOSQL数据库的数据存储形式是模式自由的Key-Value,而模式自由是指使用数据库前不再预先定义数据模型。所谓Key-Value,顾名思义是指一个键名对应一个键值,程序在访问value时可以直接通过访问key来实现,这种特性保证value的类型无须提前定义。举例说明,在传统的RDBMS中,必须先定义一张学生表,同时设置好各个字段的类型才能存放一个学生信息,如果要对学生信息进行增删改查等操作,就会导致之前使用的数据模型产生变动,而模式自由的数据库无须这样做。 本系统是结合了NOSQL的相关概念而设计的一个快速的数据存储系统,提供数据基本的增、删、改、查功能,通过系统自动的对数据存储结构优化,提高系统的性能,目的就是要实现数据高效存储和查询,以应对如今的海量数据的处理和海量用户请求,除此之外,系统在系统的容错性能、数据备份、数据的灾难恢复方面都做了一定的研究,提高了系统的稳定性和适应恶劣环境的能力。系统采用基于Linux平台开发,以C语言作为主要的设计语言,保证系统可移植性和灵活性。而Linux操作系统在服务器方面的应用也远远的超过了其它的系统,保证了系统可以被不同的用户使用。通过本系统,用户能通过简单的操作就可以数据的高效管理,同时系统能为用户提供稳定的服务。 本文研究的主题是如何快速的存储和查询数据。包括对数据的存储结构的研究:主要研究的是何种数据结构能够保证数据简单存储并且能提供高效的存储效率,同时,对数据的存储的位置进行研究,即存在内存还是存在本地硬盘;对数据查询结构的研究:主要研究数据以何种查询方式,能够提供较短的时间延时,特别是应对与大数据的时候;对内存管理的研究:当把所有的数据存放在内存是,对内存的管理就显的尤为重要,好的内存管理,能带来更高的数据存储效率,更高的系统稳定性和可用性;应对大量数据请求的研究:实际的应用中,数据的请求一般都是相当大的,提高单机的数据请求处理速度,是非常重要的,再好的存储系统,,不能快速的处理数据请求,那么,整体的存储性能是比较低的;对c/s结构的设计的研究:c/s的结构设计,能在一定程度上,减少sever端的数据处理的压力,client和sever端的较好的协议、通信方式等,能在很大的程度上提高数据请求的有效率和成功率。 本文开篇叙述了研究高性能NOSQL的相关背景、目的以及意义,并对系统的可行性和系统需求进行分析,在后续的章节中主要介绍了系统的模块划分和主要的模块的设计方法以及相关的算法。最后,对系统的各个模块做出相应的测试。
【关键词】:海量数据 快速存储和快速查 NOSQL 内存管理 Libevent
【学位授予单位】:吉林大学
【学位级别】:硕士
【学位授予年份】:2014
【分类号】:TP333;TP311.13
【目录】:
- 摘要4-6
- Abstract6-11
- 第1章 绪论11-15
- 1.1 本文研究的目的和意义11-12
- 1.2 国内外相关研究现状12-13
- 1.3 本文主要研究内容13-14
- 1.4 本文结构安排14-15
- 第2章 相关知识基础与开发工具简介15-20
- 2.0 NOSQL 相关概念15-16
- 2.1 KEY-VALUE 相关概念16-17
- 2.2 开发平台和开发工具简介17-19
- 2.2.1 开发平台17-18
- 2.2.2 开发工具18-19
- 2.3 本章小结19-20
- 第3章 需求分析20-27
- 3.1 系统可行性分析20-21
- 3.1.1 技术可行性分析20
- 3.1.2 经济可行性分析20-21
- 3.1.3 运行环境可行性分析21
- 3.2 系统功能需求分析21-24
- 3.3 系统数据需求分析24-25
- 3.4 系统性能需求分析25
- 3.5 非功能性需求25-26
- 3.6 本章小结26-27
- 第4章 总体设计27-32
- 4.1 系统设计目标27
- 4.2 系统设计内容27-28
- 4.3 系统功能模块划分28-31
- 4.3.1 用户操作模块28-29
- 4.3.2 服务器处理请求模块29
- 4.3.3 数据查询模块29
- 4.3.4 数据存储模块29-30
- 4.3.5 备份恢复模块30
- 4.3.6 系统日志模块30
- 4.3.7 配置文件模块30-31
- 4.4 本章小结31-32
- 第5章 系统详细设计与实现32-45
- 5.1 系统整体流程图32-34
- 5.2 系统功能模块的设计与实现34-44
- 5.2.1 用户请求模块35-36
- 5.2.2 服务器模块36-38
- 5.2.3 数据查询模块38-39
- 5.2.4 数据存储模块39-42
- 5.2.5 系统日志模块42
- 5.2.6 备份和恢复模块42-44
- 5.3 安全设计44
- 5.3.1 网络系统安全设计44
- 5.3.2 软件系统安全设计44
- 5.4 本章小结44-45
- 第6章 系统测试45-51
- 6.1 系统测试概述45-46
- 6.1.1 系统测试步骤45-46
- 6.1.2 测试方法与技术46
- 6.2 系统模块测试46-50
- 6.2.1 Client 模块测试46-47
- 6.2.2 Server 模块测试47-48
- 6.2.3 Data 模块测试48-50
- 6.3 系统安装部署50
- 6.4 本章小结50-51
- 第7章 结论与展望51-52
- 参考文献52-54
- 作者简介54-55
- 致谢55
【参考文献】
中国期刊全文数据库 前10条
1 张华强;;关系型数据库与NoSQL数据库[J];电脑知识与技术;2011年20期
2 黄贤立;;NoSQL非关系型数据库的发展及应用初探[J];福建电脑;2010年07期
3 何文;;改进的key/value数据存储设计方案[J];东北电力大学学报;2012年04期
4 李冯筱;罗高松;;NoSQL理论体系及应用[J];电信科学;2012年12期
5 苏翔宇;;Key-Value数据库及其应用研究[J];电脑知识与技术;2012年05期
6 韩峰;闫振兴;王洁萍;李海波;宋杰;;基于Key-Value的云数据管理应用接口标准化研究[J];信息技术与标准化;2011年12期
7 刘均;;基于MVC模型的Web数据库应用编程研究[J];煤炭技术;2010年11期
8 卢冬海;何先波;;浅析NoSQL数据库[J];中国西部科技;2011年02期
9 徐娟娟;朱成亮;;NOSQL在WEB日志分析中的应用[J];中国新技术新产品;2011年10期
10 肖红玉;陈海;黄静;;Key-Value数据库的研究与应用[J];自动化与仪器仪表;2010年04期
本文编号:1078668
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/1078668.html