Hadoop云平台在“数据库系统原理”课程实验教学中的应用

2014-12-26 13:59黄震华方强
科教导刊 2014年34期
关键词:理论基础专业技能数据库

黄震华 方强

摘 要 数据库是计算机科学的重要分支,是信息系统的核心和基础。数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度较高的数据独立性和易扩展性,并可为各种用户共享。①经过多年来的发展,数据库经历了三个重要的发展阶段:第一代的网状和层次数据库系统,第二代的关系数据库系统,第三代的以面向对象数据模型为主要特征的数据库系统。数据库已经成为计算机信息系统和应用系统的核心技术和重要基础,也是许多其他专业的选修课程。

关键词 数据库 理论基础 专业技能

中图分类号:G424文献标识码:A

Application of Hadoop Cloud Platform in the "Principles of

Database Systems" Course Experiment Teaching

HUANG Zhenhua, FANG Qiang

(College of Electronic and Information Engineering, Tongji University, Shanghai 201804)

Abstract The database is an important branch of computer science, is the core and foundation of information systems. Database is a long-term storage in the computer, an organized collection of large amounts of data can be shared. Data in the database according to certain data model organization, description, and storage, has a high degree of data redundancy smaller independence and ease of scalability, and can be shared by a variety of users. After years of development, the database has gone through three major stages of development: the first generation of mesh and hierarchical database system, the second generation of relational database systems, third-generation object-oriented data model as the main feature of the database systems. Database has become an important foundation for the core technology and computer information systems and applications are also a number of other specialized elective courses.

Key words database; theoretical basis; professional skills

0 引言

數据库具有理论基础强、实践应用突出、学科综合性强等特点。②数据库技术也是计算机专业人员必备的专业技能。数据库课程的教学应当与实际工作中的需求紧密联系。要以当前主流的数据库应用为背景,以数据模型作为核心,不仅讲授数据库的理论、原理,也要使学生掌握数据库的运用,并能对数据库进行高效的维护。良好的数据库专业技能不仅需要扎实的理论基础、对知识点深入理解,还需要较强的动手能力,能运用所学的理论知识在实际情况中正确分析、解决问题。③

本文在对数据库这门课程的教学特性进行了深入分析的基础上构建了一个基于Hadoop的数据库教学实验平台,并详细讲述了该平台在教学中的优势。

1 数据库学科教学现状

目前各高校计算机相关专业均开设了数据库课程,但是在教学中大都采用的是传统的课堂授课辅以机房上机练习的形式。这样的教学存在着弊端。课堂授课中,侧重于知识点的讲解,理论与实践有所脱节,忽略了实际中的使用技术。很多同学的理论知识学得很好,包括基本概念、代数运算、规范化和数据库设计等。但是在面对一个较为复杂的实际情况时不能设计出性能优越的数据库来,这很难使学生所学的知识点融会贯通。机房上机练习虽然能提供给学生一定的动手锻炼的机会,但是由于缺乏一些真正的需求,大部分同学的练习只是局限于一些常用的数据库工具软件、命令的使用。同时这些练习也仅仅是一些关于单门学科的知识点验证,学生很难把所学的知识与实际工作相结合。而且这些练习中的数据大都不具有实际生产环境意义,因此学生在上机练习中很难考虑到实际工程中的一些要求。比如实际的信息系统中,数据量可能达到百万、千万记录,这时候的数据库操作可能会遇到一系列问题,比如溢出错误等,时间性能等等。而且传统的机房上机中所涉及到的数据库几乎都是SQL Server、Oracle、MySQL等,而现在社会发展早已进入了大数据时代,数据的规模甚至达到TB、PB级,传统的数据库技术在解决大数据问题面前遇到了一系列问题。课程教学应该要紧密联系生产界的主流技术,与实践紧密融合,让学生将掌握的理论知识灵活运用到实际工程中,达到学以致用的效果。同时长期单一的教学模式不容易使学生保持较好的学习积极性。因此必须运用不同的教学方法与教学形式,调动学生的学习热情,促进学生的学习。

2 基于Hadoop的数据库教学实验平台的构建

随着互联网的发展,数据呈指数级增长。大数据的存储、处理对现有数据库技术提出了巨大的挑战,Hadoop的出现从一定程度上解决了这个问题,并得到了广泛的运用。④秉承课程教学要与实践相结合的原则,我们通过搭建一个Hadoop平台进行数据库教学、实验。

Hadoop是目前一个非常流行的开源框架,可编写和运行分布式应用处理大规模数据。⑤Hadoop可运行在由廉价机器构建的集群上,有简单、健壮、可扩展等特点。HDFS文件系统是Hadoop的底层文件系统,它是一个主从式的分布式文件系统,有NameNode和若干个DataNode组成。HBase是基于HDFS上的一个开源数据库,目前在一些大公司得到了广泛运用。HBase⑥是一个分布式的、面向列的开源数据库,在Hadoop之上提供了类似于Bigtable的能力。HBase与关系型数据库有着区别:HBase是一个适合于非结构化数据存储的数据库,而且是基于列的而不是基于行的模式。HBase主要用于需要随机访问,实时读写大数据的情况。

针对目前数据库教学中遇到的难题,我们利用Hadoop的技术优势,构建了一个基于Hadoop的数据库教学实验平台。该平台对于服务器的硬件配置要求较低,这也是Hadoop技术的一大优势,因此我们利用廉价的机器搭建起底层系统并配置好HDFS文件系统。

2.1 平台的搭建

该平台中有9台计算机,配置均为双核CPU、4GB内存、500G硬盘、Ubuntu操作系统,我们选取的Hadoop版本是1.21,它具有良好的稳定性、容错性。指定其中一台计算机作为系统的NameNode及JobTracker,7台作为系统的DataNode和TaskTracker。NameNode节点指导DataNode节点进行底层的IO任务,并记录文件如何被分成文件块、以及这些块被哪些节点存储等其他信息。而DataNode则存储文件块,进行计算,并与其他节点交互、复制数据以实现冗余。在Hadoop文件系统HDFS上,我们配置适合Hadoop版本的HBase,HBase是一个能存储海量数据的数据库。由于NameNode节点在系统中作用较大,如果NameNode节点出现故障,整個平台的使用都会受到影响。为此我们取一台单独的计算机作为Secondary NameNode,Secondary NameNode的作用是与NameNode通信,它不存储HDFS的任何实时变化,只是按照一定的时间间隔获取HDFS信息的一个快照。万一NameNode节点出现故障,可根据Secondary NameNode上的信息快速恢复系统平台,并降低各节点丢失数据的概率。Hadoop的架构如图1所示。

图1 Hadoop架构

应用层的构建我们依据MVC设计原则,采用Struts+Hibernate+Spring技术,将视图控制模型分离,降低耦合度,提高代码可重用性,使层次架构更加清晰明了,同时也便于后期维护、降低维护成本。该平台能够处理大数据,且使用的机器很廉价,并具有较好的稳定性、鲁棒性。该平台主要框架如图2所示。

图2 基于Hadoop的数据库教学实验平台

2.2 平台功能介绍

用户可通过登录模块进入系统。系统管理员可以为学生分配平台资源使用的权限,并可以执行系统设置、用户管理、消息发布、平台维护等操作。学生根据管理员分配的权限可以进入平台执行相应的操作。

在实验练习模块中学生可以通过该模块操作HBase数据库中的海量数据,所学知识将在真实环境数据下得到运用,能对知识点融会贯通。同时该平台中的HBase数据库不仅能满足数据库教学的中的一般需求,而且实现了压缩算法、内存操作和布隆过滤器,这能为一些学习能力较强的学生提供钻研探索的机会,有效地锻炼学生的创新能力。在这里学生有机会玩转大数据,能真正地让学生在课堂上所学的理论知识与实践得到很好地结合。这为学生以后进入社会参加工作提供了经验。

深入学习模块可以让学生全面、深入地继续学习。一方面,该模块向学生展示了关于数据库课程的教学方案、该教学平台的特性、平台的搭建细节以及平台的使用指南,让学生不仅能快速地学会这个平台的使用,还能对该平台有个全面细致的了解。另一方面,该模块发布了一些教学视频、讲义、资料供学生下载,让学生在课余时间能够对感兴趣的内容进行自主学习。

在线测试模块主要给学生提供一个在线测试的平台,教师可以定期在平台上发布在线测试,学生将在规定的时间内进入系统答题,由平台自动判分,同时平台具有一定的查重功能,这能够有效地避免抄袭现象的存在。对于每道题,教师可以提前设置好正确答案分析,学生可以在测试结束后自己分析做错的题。对于学生答题的判分情况,系统自动生成各种报表,让教师能对学生的学习情况有个全面细致的了解,从而对学生的薄弱知识点进行查缺补漏。

答疑解惑模块可以让教师、学生在线直接交流,学生对于未来课程所期望的知识点讲解也可以留言,学生不懂的问题可以在此请教教师,这打破了课堂教学时间的限制,能让学生获得更多的指导学习时间。

3 数据库教学实验平台的效果与优势分析

自从该平台投入教学使用后,取得了较好的教学效果。学生的学习热情越来越高,参与在线学习的人(下转第181页)(上接第139页)数越来越多,在线测试中学生的成绩斐然,参与数据库实验平台的学生人数和在线时间均处于持续增长。

搭建这个数据库教学实验平台并在教学中使用是我们在教学改革中的探索,这为以后的教学改革指明了方向。

搭建了基于Hadoop的数据库教学实验平台。一方面提供给了学生一个锻炼实践的机会。学生在教材中学到的各种理论知识都能在该平台的练习中得到深入理解并加以融会贯通,增加了学生动手锻炼的机会,通过平台的教学,学生能够深入理解数据库基本原理,熟练设计数据库的基本原则以及具体细节,掌握数据库操作的性能调优技术。Hadoop、HBase等新技术的运用不仅能让学生了解工业界流行的技术,避免与实际脱轨,而且有助于培养学生的独立思考、解决新问题的能力。同时对于那些感兴趣的同学,可以进一步学习Hadoop框架的底层实现细节。另一方面,该平台在教学中的使用改变了传统的教学模式,让学生成为教学的主体,学习过程中更加注重的是学习方法的指导,重视学生能力的培养。特别是定期的在线测试改变了传统的考核方式,在完成每个学习阶段后,相应的在线测试能检测学生的学习效果,能让学生始终保持对自身的正确认识。通过多元化的教学方式,极大地调动了学生的积极性和主动性。

4 结束语

数据库技术是计算机科学技术中的核心技术之一,也是发展最快的技术之一。数据库学科理论性强、实践应用性突出的特点决定了学好这门学科必须要理论与实践相结合。本文针对当前的数据库课程教学现状中存在的问题进行了深入分析,并提出了一个基于Hadoop的教学实验平台,该教学实验平台具有良好的交互性、易操作,在数据库的教学中起着重要的作用。这不仅能强化学生对教材中理论知识的掌握,而且提供给学生一个实践的机会,极大地锻炼了学生独立思考、解决新问题的能力。在将来的教育中应该要重视实践环节,培养学生的创新能力。

注释

① 萨师煊,王珊.数据库系统概论[M].高等教育出版社,2000.

② 瞿中.数据库教学方法改革的探索与实践[J].黑龙江高教研究,2006(2):113-114.

③ 张元,韩燮.基于CDIO的数据库课程体系改革与实践[J].计算机教育,2011(3):52-55.

④ Borthakur D, Gray J, Sarma J S, et al. Apache Hadoop goes realtime at Facebook[C]//Proceedings of the 2011 ACM SIGMOD International Conference on Management of data. ACM, 2011:1071-1080.

⑤ Shvachko K, Kuang H, Radia S, et al. The hadoop distributed file system[C]//Mass Storage Systems and Technologies (MSST), 2010 IEEE 26th Symposium on. IEEE,2010:1-10.

⑥ The Apache HBase project.http://hbase.apache.org/.

猜你喜欢
理论基础专业技能数据库
浅谈学前教育专业技能大赛与课堂教学的有机衔接
不断提高摄影记者的专业技能和综合素质
数据库
浅议中职计算机基础课自主学习教学模式
会计准则变革的非预期效应理论框架构建
数据库
数据库
数据库
以专业技能为核心的高师音乐教育课程改革之思
模具专业技能水平综合测试探索