- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
NoSQL技术在数字资源共享平台中应用
NoSQL技术在数字资源共享平台中应用 摘 要 本文分析了云计算环境下现有数字资源共享平台的现状,提出了NoSQL技术的解决方案,并使用MongoDB来替代传统的关系型数据库进行数据库的设计。在对系统需求分析的基础上,介绍了系统部分关键功能的实现,并通过对基本插入和查询处理的测试,比较了MongoDB和 MySQL两种数据库在性能上的差别。
【关键词】云计算 NoSQL技术 MongoDB MySQL
1 云计算环境下数据管理技术存在的问题
网络教学作为一种重要的教学改革手段,在高校教学改革中越来越受到重视。随着教学工作的不断改进,各种数字化的教学资源出现在网络课件、网络实验平台、课程教学网站、数字媒体资源系统中,它们为学生的自主学习提供巨大的支持和帮助。随着云计算技术的广泛使用,用户需要通过如计算机、笔记本、手机等多种不同的手段来访问数字化的教学资源,加上数据量的增长,现有的系统暴露出了一些问题:
1.1 系统扩展问题
现有系统的数据存储层大多建立在诸如MySQL之类的关系型数据库上。由于关系型数据库在设计时需要满足一致性和可用性,所以它很难实现系统的水平扩展,这使得关系型数据库难以满足云计算环境中数据存储和管理的要求。
1.2 数据存储问题
现有系统数据采用关系模式进行建模。关系模式下数据之间的关联关系对查询的高效性存在着一定的制约,特别是关系模式数据库对多媒体信息的处理能力比较弱。当数据量快速增长是,难以满足数据的更新和查询性能上的需求。
1.3 系统可靠性问题
现有系统的数据主要存储单个服务器上。数据的备份、恢复和管理工作往往需要人工进行干预。当服务器出现故障时,造成数据的丢失或损坏的几率较大。
2 基于NOSQL技术的系统特征
NOSQL是非关系型数据库的统称,它不使用SQL语言作为基本的?询语言。此外,NoSQL中的数据存储没有表结构,具有强大的水平扩展性。数字化教学资源一般包括文字、图片、音频、视频等形式,在实现资源的浏览和查询时并没有复杂的多表连接操作。NoSQL系统通常能支持很好的水平扩展性,当数据增长到一定规模时,可以通过简单的添加硬件或服务节点的方式来对系统进行扩展,这弥补了关系型数据库在扩展性上的不足。特别是NoSQL采用大规模集群的方式进行工作,系统可以运行在廉价的PC机上,并且允许单个或多个节点的故障,NoSQL系统可以使用复制的功能来实现数据的冗余和系统的容灾。由于NoSQL存在以上特性,因此它更适用于云计算环境下的数据管理。
3 NOSQL数据管理技术在数字资源共享平台中的应用
3.1 需求分析
设计一个云计算环境下的数字资源共享平台,将各种数字媒体资源共享给不同的用户,为学生的学习提供足够的帮助,为教师的授课提供支持,为企业与学校的合作提供渠道。数字资源共享平台下对数字资源的管理需要提供以下功能模块:资源浏览、资源检索、资源上传、资源下载、资源增删等。平台面向普通学生、教师、系统管理员、企业导师4种不同的用户,系统用例图如图1所示。
3.2 MongoDB数据库建模
MongoDB是一种面向文档的NoSQL数据库,它具有高可用性和高扩展性。针对现有资源管理系统存在的问题,使用MongoDB来替代传统的关系型数据库进行数据库的设计,能够有效地解决上述问题,并且为系统迁移到云计算环境奠定了基础。
根据需求分析,数字资源共享平台中的实体主要有资源source和用户user,内嵌文档是资源类型Type和内容来源Content。资源类型主要包含文本、图片和视频。内容来源与知识点、上传对象对应,便于检索[4]。具体设计如表1所示。
表1资源集合Source描述
字段 类型 说明
S_id String 唯一id
S_name String 资源名称(索引字段)
S_Provider 引用 资源提供者
S_Time long 资源创建时间
S_Count long 资源被访问的次数
S_Content 内嵌文档 文档资源内容
3.3 关键功能的实现
在系统的各个功能模块中,资源的上传和查询功能最为重要。由于文档资源数量众多且类型不同,资源写入和查询的效率对用户体验影响较大。现将资源上传和查询功能作为关键功能来处理。
3.3.1 资源上传功能
GridFS f=getGridFS();
try{
GridFS File mongofile=f.createFile(in, source_1_1);
mongofile.put(”S_id”,document.getS_id());
mongofile.put(”
文档评论(0)