论文部分内容阅读
随着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的相关背景、目的以及意义,并对系统的可行性和系统需求进行分析,在后续的章节中主要介绍了系统的模块划分和主要的模块的设计方法以及相关的算法。最后,对系统的各个模块做出相应的测试。