Hadoop云平台在“数据库系统原理”课程实验教学中的应用
Application of Hadoop Cloud Platform in the
"Principles of
Database Systems"Course Experiment Teaching
HUANG Zhenhu a FANG Qiang
(College of Electronic and Information Engineering Tongj i University Shanghai 201804)
The database is an important branch of computer science is thecore and foundation of information systems.Database is a long-termstorage in the computer anorganized collection of large amounts of data can be shared.Data in thedatabase according to certain data model organization descriptionand storage has a high degree of data redundancy smallerindependence and ease of scalability and can be shared by a variety ofusers.After years of development the database has gone through threemajor stages of development the first generation of mesh andhierarchical database system the second generationof relational database systems third-generation object-oriented datamodel as the main feature of thedatabase systems.Database has become an important foundation for the
core technology and computer information systems and applications arealso a number of other specialized elective courses.
0引言数据库具有理论基础强、实践应用突出、学科综合性强等特点。②数据库技术也是计算机专业人员必备的专业技能。 数据库课程的教学应当与实际工作中的需求紧密联系。要以当前主流的数据库应用为背景 以数据模型作为核心不仅讲授数据库的理论、原理也要使学生掌握数据库的运用并能对数据库进行高效的维护。 良好的数据库专业技能不仅需要扎实的理论基础、对知识点深入理解还需要较强的动手能力能运用所学的理论知识在实际情况中正确分析、解决问题。③
本文在对数据库这门课程的教学特性进行了深入分析的基础上构建了一个基于Hadoop的数据库教学实验平台并详细讲述了该平台在教学中的优势。
1数据库学科教学现状目前各高校计算机相关专业均开设了数据库课程但是在教学中大都采用的是传统的课堂授课辅以机房上机练习的形式。 这样的教学存在着弊端。课堂授课中侧重于知识点的讲解理论与实践有所脱节忽略了实际中的使用技术。很多同学的理论知识学得很好包括基本概念、代数运算、规范化和数据库设计等。
但是在面对一个较为复杂的实际情况时不能设计出性能优越的数据库来这很难使学生所学的知识点融会贯通。机房上机练习虽然能提供给学生一定的动手锻炼的机会 但是由于缺乏一些真正的需求大部分同学的练习只是局限于一些常用的数据库工具软件、命令的使用。 同时这些练
习也仅仅是一些关于单门学科的知识点验证学生很难把所学的知识与实际工作相结合。而且这些练习中的数据大都不具有实际生产环境意义因此学生在上机练习中很难考虑到实际工程中的一些要求。 比如实际的信息系统中数据量可能达到百万、千万记录这时候的数据库操作可能会遇到一系列问题 比如溢出错误等时间性能等等。而且传统的机房上机中所涉及到的数据库几乎都是 SQL Server 、 Oracle 、MyS QL等而现在社会发展早已进入了大数据时代数据的规模甚至达到TB、 P B级传统的数据库技术在解决大数据问题面前遇到了一系列问题。课程教学应该要紧密联系生产界的主流技术与实践紧密融合让学生将掌握的理论知识灵活运用到实际工程中达到学以致用的效果。同时长期单一的教学模式不容易使学生保持较好的学习积极性。 因此必须运用不同的教学方法与教学形式 调动学生的学习热情 促进学生的学习。 2基于Hadoop的数据库教学实验平台的构建
随着互联网的发展数据呈指数级增长。大数据的存储、处理对现有数据库技术提出了巨大的挑战 Hadoop的出现从一定程度上解决了这个问题 并得到了广泛的运用。④秉承课程教学要与实践相结合的原则我们通过搭建一个 Hadoop平台进行数据库教学、实验。
Hadoop是目前一个非常流行的开源框架可编写和运行分布式应用处理大规模数据。⑤Hadoop可运行在由廉价机器构建的集群上有简单、健壮、可扩展等特点。HDFS文件系统是Hadoop的底层文件系
统它是一个主从式的分布式文件系统有
NameNod和若干个DataNode组成。HBase是基于HDFS上的一个开源数据库 目前在一些大公司得到了广泛运用。 HBase⑥是一个分布式的、面向列的开源数据库在 Hadoop之上提供了类似于Bigtable的能力。HBase与关系型数据库有着区别HBase是一个适合于非结构化数据存储的数据库而且是基于列的而不是基于行的模式。HBase主要用于需要随机访问实时读写大数据的情况。
针对目前数据库教学中遇到的难题我们利用 Hadoop的技术优势构建了一个基于Hadoop的数据库教学实验平台。该平台对于服务器的硬件配置要求较低这也是 Hadoop技术的一大优势 因此我们利用廉价的机器搭建起底层系统并配置好HDFS文件系统。
2.1平台的搭建
该平台中有9台计算机配置均为双核CPU4GB内存、500G硬盘、Ubuntu操作系统我们选取的Hadoop版本是1.21 它具有良好的稳定性、容错性。指定其中一台计算机作为系统的
NameNod及JobTracker,7台作为系统的DataNode和TaskTracker 。NameNod节点指导DataNode节点进行底层的10任务并记录文件如何被分成文件块、以及这些块被哪些节点存储等其他信息。而DataNode则存储文件块进行计算并与其他节点交互、复制数据以实现冗余。在Hadoop文件系统HDFS上 我们配置适合Hadoop版本的HBaseHBase是一个能存储海量数据的数据库。 由于NameNod节点在系统中
作用较大如果NameNo d节点出现故障整个平台的使用都会受到影响。为此我们取一台单独的计算机作为Secondary NameNodeSecondary NameNod的作用是与NameNod通信它不存储HDFS勺任何实时变化只是按照一定的时间间隔获取HDFS言息的一个快照。万一NameNod节点出现故障可根据Secondary NameNodet的信息快速恢复系统平台 并降低各节点丢失数据的概率。 Hadoop的架构如图1所示。
图1 Hadoop架构
应用层的构建我们依据MV C设计原则采用
S trut s+Hib ernate+Spring技术将视图控制模型分离降低耦合度提高代码可重用性使层次架构更加清晰明了 同时也便于后期维护、降低维护成本。该平台能够处理大数据且使用的机器很廉价并具有较好的稳定性、鲁棒性。该平台主要框架如图2所示。
图2基于Hadoop的数据库教学实验平台
2.2平台功能介绍
用户可通过登录模块进入系统。 系统管理员可以为学生分配平台资源使用的权限并可以执行系统设置、用户管理、消息发布、平台维护等操作。 学生根据管理员分配的权限可以进入平台执行相应的操作。
在实验练习模块中学生可以通过该模块操作 HBase数据库中的海量数据 所学知识将在真实环境数据下得到运用 能对知识点融会贯通。同时该平台中的HBase数据库不仅能满足数据库教学的中的一般需求 而且实现了压缩算法、 内存操作和布隆过滤器这能为一
些学习能力较强的学生提供钻研探索的机会有效地锻炼学生的创新能力。 在这里学生有机会玩转大数据 能真正地让学生在课堂上所学的理论知识与实践得到很好地结合。这为学生以后进入社会参加工作提供了经验。
深入学习模块可以让学生全面、深入地继续学习。一方面 该模块向学生展示了关于数据库课程的教学方案、该教学平台的特性、平台的搭建细节以及平台的使用指南让学生不仅能快速地学会这个平台的使用 还能对该平台有个全面细致的了解。 另一方面该模块发布了一些教学视频、讲义、资料供学生下载 让学生在课余时间能够对感兴趣的内容进行自主学习。
在线测试模块主要给学生提供一个在线测试的平台 教师可以定期在平台上发布在线测试 学生将在规定的时间内进入系统答题 由平台自动判分 同时平台具有一定的查重功能这能够有效地避免抄袭现象的存在。 对于每道题 教师可以提前设置好正确答案分析 学生可以在测试结束后自己分析做错的题。 对于学生答题的判分情况 系统自动生成各种报表 让教师能对学生的学习情况有个全面细致的了解从而对学生的薄弱知识点进行查缺补漏。
答疑解惑模块可以让教师、 学生在线直接交流 学生对于未来课程所期望的知识点讲解也可以留言学生不懂的问题可以在此请教教师这打破了课堂教学时间的限制 能让学生获得更多的指导学习时间。
3数据库教学实验平台的效果与优势分析
自从该平台投入教学使用后 取得了较好的教学效果。 学生的学
习热情越来越高参与在线学习的人下转第181页 上接第139页数越来越多在线测试中学生的成绩斐然参与数据库实验平台的学生人数和在线时间均处于持续增长。
搭建这个数据库教学实验平台并在教学中使用是我们在教学改革中的探索这为以后的教学改革指明了方向。
搭建了基于Hadoop的数据库教学实验平台。一方面提供给了学生一个锻炼实践的机会。学生在教材中学到的各种理论知识都能在该平台的练习中得到深入理解并加以融会贯通 增加了学生动手锻炼的机会通过平台的教学 学生能够深入理解数据库基本原理 熟练设计数据库的基本原则以及具体细节掌握数据库操作的性能调优技术。HadoopHBase等新技术的运用不仅能让学生了解工业界流行的技术避免与实际脱轨 而且有助于培养学生的独立思考、 解决新问题的能力。 同时对于那些感兴趣的同学可以进一步学习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 goesrealtime at Facebook[C]//Proceedings of the 2011 ACM SIGMODInternational Conference on Management of data.
AC M 2011 1071-1080.
⑤Shvachko K Kuang H Radia S et al.The hadoopdistributed file system[C]//Mass Storage Systems and TechnologiesMSST 2010 IEEE 26th Symposiumon. IEEE 2010 1-10.
⑥The Apache HBaseproject.http //hbase.apache.org/.
Justg是一家俄罗斯VPS云服务器提供商,主要提供南非地区的VPS服务器产品,CN2高质量线路网络,100Mbps带宽,自带一个IPv4和8个IPv6,线路质量还不错,主要是用户较少,带宽使用率不高,比较空闲,不拥挤,比较适合面向非洲、欧美的用户业务需求,也适合追求速度快又需要冷门的朋友。justg的俄罗斯VPS云服务器位于莫斯科机房,到美国和中国速度都非常不错,到欧洲的平均延迟时间为40毫秒,...
提速啦简单介绍下提速啦 是成立于2012年的IDC老兵 长期以来是很多入门级IDC用户的必选商家 便宜 稳定 廉价 是你创业分销的不二之选,目前市场上很多的商家都是从提速啦拿货然后去分销的。提速啦最新物理机活动 爆炸便宜的香港CN2物理服务器 和 日本CN2物理服务器香港CTG E5 2650 16G内存 20M CN2带宽 1T硬盘 150元/月日本CN2 E5 2650 16G内存 20M C...
快快云怎么样?快快云是一家成立于2021年的主机服务商,致力于为用户提供高性价比稳定快速的主机托管服务,快快云目前提供有香港云服务器、美国云服务器、日本云服务器、香港独立服务器、美国独立服务器,日本独立服务器。快快云专注为个人开发者用户,中小型,大型企业用户提供一站式核心网络云端服务部署,促使用户云端部署化简为零,轻松快捷运用云计算!多年云计算领域服务经验,遍布亚太地区的海量节点为业务推进提供强大...