前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇数据库系统概论范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
关键词:数据库;学习需求;教学方法
中图分类号:G40文献标识码:A 文章编号:1009-3044(2011)15-3625-02
《数据库系统概论》是高校计算机专业的必修专业课,同时它也是一门理论和实践性都较强的学科,传统的“黑板上讲理论,机房里练操作”的授课模式很难激发学生的学习兴趣,教学效果不佳。
往往一学期教学结束,和学生谈起本课程的学习,学生只是记住几个概念,至于数据库的技术没有多少能深入理解,更别提能应用于实际。数据库的应用虽然十分广泛,到处都是数据库,银行里、商店里、网络上等等。但是因为它是藏在“后台”的,不像多媒体、WWW等等,既作为对象,又作为外壳,直接呈现在人们面前,所以要简明扼要、深入浅出、生活化地诠释它,显然有更高的难度。
本人在《数据库系统概论》教学实践中体会到, 不能只看中理论,觉得学生只要知道是怎么一回事就可以了,需要学生亲身去参与项目的开发,去经历基本真实的项目制作,才能掌握知识。因此,在实际的教学中,采用任务驱动的案例教学法,配合直观的教学媒体,并布置学生的课下任务,多管齐下,让学生更全面的了解、使用数据库技术。
1 教学方法概述
对于计算机专业的课程来讲,教学方法大致有以下几种:
1.1 讲授法
这种方法能够使学生在短时间内获得大量系统的科学知识。但运用不好,学生学习的主动性、积极性不易发挥,就会出现教师满堂灌、学生被动听的局面。在讲述数据库概念的时候,常采用这种方法。
1.2 讨论法
这种方法是在教师的指导下,学生以小组为单位,围绕教材的中心问题,各抒己见,通过讨论或辩论活动,获得知识或巩固知识。在该课程的教学中,采用一两次,如并发事务的处理。在讨论中引导学生围绕题目发表意见,然后在结束时,概括讨论的情况,使学生获得了正确的观点和系统的知识。
1.3 直观演示法
通过展示各种案例或进行示范性实验,让学生通过观察获得感性认识。主要是演示实验的内容或要求课下学生实际操作的内容。
1.4 练习法
学生在教师的指导下巩固知识、运用知识、形成技能技巧的方法。实际操作的练习,旨在形成操作技能,在技术性学科中占重要地位。
1.5 读书指导法
读书指导法是教师指导学生通过阅读教科书或参考书,以获得知识、巩固知识、培养学生自学能力。在每次课后,都给学生布置相应的参看书目、参考文献或参考网站,引导学生主动地自学,并在课堂上适当地让学生发表自己看书的收获。
1.6 任务驱动教学法
这种方法要求给学生布置具体的学习任务,让学生自己查阅资料,并对知识体系进行整理,再选出代表进行讲解,最后由教师进行总结。这种方法可以让学生在完成“任务”的过程中,培养分析问题、解决问题的能力,培养学生独立探索及合作精神。在讲解关键的知识或技术时如数据库的设计,大多采用这种方法。
1.7 自主学习法
这种方法是给学生留思考题或是遇到的一些实际生产问题,让学生利用网络资源自主学习的方式寻找答案,提出解决问题的措施,然后提出讨论评价。这种方法能够充分发掘学生的创造潜能,提高学生解决实际问题的综合能力。
2 教学方法的实施
《数据库系统概论》的主要目的是要求学生能掌握数据库技术中的概念,并学会进行数据库的设计和实施,进而能结合前台对后台数据库进行各种操作。
2.1 数据库的概念
这一部分主要采用联系生活的实际讲授法来讲述。例如在讲述数据管理的发展时采用在图书馆查阅资料的例子,总结出常用信息资源管理的两种方法:手工管理(逐级分类)和计算机管理(采用数据库)。通过搜索引擎引入数据库,让学生感受数据库管理信息的优势:查找统计数据高效准确,数据库的共享性好,管理操作方便,管理大量信息占用空间小。 通过对图书管理数据库的解剖分析,了解使用数据库管理信息的基本思想和方法:采用表格的结构以及表与表之间的关系进行存储和管理信息的。然后编写数据库管理软件对数据库信息进行查找和统计操作。
2.2 数据库的设计
这一部分主要采用任务驱动的案例教学。先给大家一个总体的任务,比如图书管理系统。总体任务是设计一个图书馆数据库,在此数据库中保存有读者记录和书目。
首先作需求分析,将学生分组,一组代表读者,一组代表图书管理者。分别模拟读者和图书管理员的角色,采用各种方式收集各自的需求。并形成需求分析报告文档。其次,在拿到需求分析报告文档后,每个同学画出书面的E-R图,包括局部的和总体的E-R图,并利用Power Designer软件将书面的E-R图转换成电子的。然后,在得到总体的E-R后,分析怎样可以将E-R图转换成我们要求的二维表,依据是什么,转换后的结果是什么?并利用Power Designer软件提供的转换功能来进行验证。数据库设计的其他阶段在其他部分来讲述。
2.3 数据库的实施
这一部分采用实验课时使用的Oracle 10g来讲述。通过让学生自己下载、安装、运行Oracle 10g来完成数据库的实施。主要采用直观演示法来讲述该部分的内容。并形成了指导书,让大家有章可依。在实验指导书中,也设计了思考题,让学生能够在做完基本的操作后能再深入地思考某些问题。比如在建立基本表的时候,可以使用SQL命令,是否也可以建立相应的文件呢?怎样来建立文件,怎样来执行文件等。
2.4 后台数据库的连接
这一部分采用学生将要学习的JSP来进行后台数据库的连接。由于本课程主要是数据库概论及使用,所以仅仅要求只要能通过前台界面连接到数据库,并对数据库能进行维护即可。这一部分先采用直观演示法给大家演示了JSP和Oracle的连接步骤,并在演示的过程中进行了详细的讲解,然后采用任务驱动法让学生自己动手实践,若有问题,利用自主学习法来进行解决。有解决不了的,我们在一起共同讨论、分析是什么地方出现了问题,如何解决问题。
3 教学反思
“数据库”这部分内容对大二的学生而言是一个比较陌生的领域,平时接触挺多,但数据库隐藏较深,故学生理解不是很清晰。因此在情景引入、创设问题上的设计就成为教学的关键。
在实际的课堂教学中,我首先进行教学的设计,以期能够让学生尽快的接受新概念,熟悉新技术。例如在讲述数据库系统的优点时,就设计了大家最常用的图书馆借阅图书和在网上如何搜索问题的例子。找到大家的兴趣点,然后再切入正题。其次,在实际的教学中,不局限于某种具体的教学方式,而是采用各种教学方式,目的只有一个,如何让学生尽快接受新概念,如何理解和掌握新技术,从而完成相应的教学目标,为学生构建数据库技术的知识结构。在讲述SQL的时候,就通过直观演示的方法来教学;在讲述数据库设计的内容时,就使用讨论教学法。在指导学生实践的过程中,使用了任务驱动法。让学生参与项目的制作,教师和学生始终在互动的问题设置、问题解决中,突破了“技术”的约束,逐步从图书管理系统将注意力吸引到其技术内在价值的探究当中,即从数据库的概念理解与技术应用当中内化素养,提升能力,不断地达成数据库课程的教学目标,感受利用数据库存储、管理大量数据并实现高效检索方面的优势;了解使用数据库管理信息的基本思想与方法;能够进行数据库的设计;能够通过前台维护后台数据。在每次课后,又采用读书指导法、任务驱动法和自主学习法督促学生积极主动地自学、自己思考、自己设计解决问题的方法。几轮课程讲下来,学生反映效果不错。最后,及时思考。一场课下来就总结思考,写好课后一得或教学日记;一周课下来或一个单元讲完后反思,发现问题及时纠正;通过最后的结课考试,召开学生座谈会,听取意见,从而进行完整的整合思考;这样可以对以后自己在本课程的教学上有很大的帮助。
4 结论
通过多种教学方法,让学生自己体验和感受到数据库的优越之处,提高学生学习的主动性和积极性。所以在数据库的教学中,教师既要放眼课程建设与发展,又要做一个有心人,去寻找合适的例子,进行教学过程的设计,这样才能保证能够全面地将数据库的技术传授给学生。
参考文献:
[1] 王珊,萨师煊.数据库系统概论[M].4版.北京:高等教育出版社,2006.
关键词:COM;DCOM;多数据库系统;分布式
1、前言
随着计算机网络技术和分布式计算的飞速发展,越来越多的用户希望能够访问和处理多个不同数据源中的数据。在此情况下,出现了多数据库系统。多数据库系统(MuitidatabaseSystem,简称MDBS)的研究开始于80年代,至今已经有二十多年的发展历史,多数据库系统是多个现存的、自治的、异构的数据库系统的联合。多数据库系统在所有局部数据库系统之上构成全局系统管理层,提供外部用户接口,使用户能实现对异构数据库的透明访问。
通过分析发现,目前的多数据系统只是对异地数据库访问支持,有很大的局限性,而对多数据库系统中的事务管理、异构模式消解、全局视图维护等关键技术都没有提供很好的解决方案。
90年代,网络技术的发展使组件化程序设计的思想促使人们把多数据库系统与COM/DCOM结合起来。一方面,可以大大提高系统的可管理性、可维护性、可伸缩性和可集成性等,使多数据库系统的开发、使用和维护都变得简单;另一方面,这两者的结合也为先进的分布式组件对象技术提供了一个广阔的应用领域。因此,分布式组件对象技术在多数据库系统领域里得到广泛应用。
2、COM/DCOM技术
基于对大型软件开发的困难性、软件开发的协调性、软件复用、软件的互操作性、软件的跨平台性等问题的研究,Microsoft提出了COM/DCOM技术,并得到科学实践的验证及进一步发展。
COM/DCOM是建立在面向对象技术的基础之上,是面向对象技术的扩充和发展。它继承了面向对象技术的优点,克服了面向对象技术的缺点,提供了分布式计算环境。它采用面向对象的多层客户/服务器计算模型,该模型将分布在网络上的全部资源都按照对象的概念来组织,为网络上的大型软件开发建立全新的技术框架。因此,COM/DCOM是一种构造软件组件的二进制标准。
2.1COM简介
COM是一种构造软件组件的二进制标准,而面向对象技术是组件式设计思想的基础。它使得组件和客户端无需任何中介组件就能相互联系,其规范所定义的组件模型具有面向对象、语言无关性、进程的透明性、可重用性等特点。目前,COM自身得到了很大的发展,己经遍布于Microsoft的各种软件产品中。
在Windows系统平台上,一个COM组件或是一个DLL(动态连接库)文件,或是一个EXE(可执行)文件。一个组件程序可以包含多个COM对象,每一个COM对象可以实现多个接口。它们的关系可展现如图1所示。
图1 COM组件、COM对象和COM接口关系
2.2DCOM简介
DCOM是COM的无缝扩展,它充分利用基于COM的应用、组件开发工具及知识,并把它们转移到分布式计算的应用领域,实现了不同计算机上的组件对象与客户程序之间或组件对象之间在网络上的相互通信,具有平台无关性、协议无关性、语言无关性、组件位置独立性和可扩展等优点。它建立在分布式计算环境(DCE)的远程过程调用(RPC)之上,采用DEC RPC的NDR格式来进行数据分组和传输,并利用DEC PC的安全机制进行数据的安全认证和一致性检查。
DCOM的基本工作过程如图2所示。
图2 DCOM的工作过程图
3、基于COM/DCOM的多数据库系统结构
随着COM/DCOM技术的发展及标准化工作的完善,COM/DCOM已成为主流技术,符合COM/DCOM规范的产品也逐渐不断地被推出并开始被广为采用。COM/DCOM目前已经是一项比较成熟的分布式面向对象技术,COM/DCOM非常适用于多数据库系统的有效管理。
本系统模型采用了一种全新的解决方法,在应用服务器中直接提供支持,这种方案才能保证分布式程序的运行效率,特别是在于需要大量数据进行处理的系统相连上尤为明显。采用本系统模型可以拥有分布计算的支持,可应用服务器支持移动计算工作方式。该模式是数据库缓存更新的发展,用户与应用服务器相连并且从应用服务器上获得数据,然后将缓存在本地的数据更新,可对数据进行各种离线处理和分析,用户与应用服务器重新连接后,可以一次新的将离线所作的处理更新到数据库服务器中。
COM组件主要负责Web服务器和数据库服务器,通过间接调用外部程序或脚本代码来访问数据库,因此可以提供与数据库相关的动态HTML页面,或执行用户查询并将查询结果格式转化成HTML页面,通过Web服务器返回给用户浏览器。
多数据库系统的体系结构如图3所示。
图3 多数据库系统的体系结构
4、系统实现
利用Visual C++中的ODBC技术可以极大地减少软件开发的工作量,提高了效率并增强了软件的可靠性。ODBC API是由ODBC提供的一组函数调用接口,其主要功能就是将SQL语句发送到目标数据库,然后处理这些SQL语句返回的结果。下面是通过ODBC API连接数据库的主要步骤及其所涉及到的重要函数。
4.1连接一个已经配置好的数据源
CDatabasem_database;
If(!m_database.IsOpen())
{If(!m_database.IsOpen(_T(""Test"")))
Assert(""不能打开该数据源"");
}
m_database.Close();
4.2动态连接数据库
由于与数据库的连接是通过Cdatabase类对象来实现的,所以可以通过赋予CrecordSet类对象参数m_pDatabase以连接不同数据库的Cdatabase对象指针,就可以动态地连接数据库:
void CDB::ChangeConnect()
{Cdatabase*pdb=m_pSet->m_pDatabase;
Pdb->close();
switch(m_id)
{
case 0:
if(pdb->Open(_T(""ES"")))
{AfxMessageBox(""打开失败"",""检查ODBC连接"";
exit(0);}
case 1:
if(!pdb->Open(_T(""Motor"")));
{AfxMessageBox(""打开失败"",""检查ODBC连接"";
exit(0);
}m_id=0;break;
}
}
4.3动态连接表
表的动态连接可以利用在调用CrecordSe:tOpen()函数时指定SQL语句来实现。
5、结束语
本文提出一种基于COM/DCOM的多数据库模型。COM/DCOM技术是解决多种异构数据库环境下的据库信息处理的一种有效的方法。由于其先进性、可扩展性、可配置性、灵活性、可靠性和先进的多层结构等的优点,它不但可以解决数据库异构的问题,更是解决操作系统异构的最有效的方法。我们有理由相信组件对象技术将是解决数据库系统集成的优良方案,在企业集成应用系统中将起到重要的作用,将是数据库技术的一个新的发展趋势。
参考文献:
[1]李瑞轩.多数据库系统原理与技术[M].电子工业出版社.2005.
[2]王珊,萨师煊.数据库系统概论(第4版)[M].高等教育出版社.2007.
关键词: 资源整合 异构数据库 互操作 联邦式数据库
1 引言
异构数据库互操作问题作为数据库领域的研究热点和难点课题,在国内外的学术界和工业界都引起了广泛的关注。自20世纪80年代以来,国外许多公司和科研单位对异构数据库的集成进行了大量研究,取得了不少成果,但国内对异构数据库集成的研究还处于开始阶段。
2 异构数据库互操作的概念
异构数据库(Heterogeneous Database)集成是数据库技术从完全集中到逻辑集中、物理分布(传统分布式数据库)乃至逻辑分布、物理分布(异构数据库)这一发展过程的结果,也是兼顾已有系统自治性并实现新的数据共享这一现实需求的有效手段。
异构数据库的异构特征包括两个级别:系统一级的异构和语言一级的异构,主要体现在以下几个方面。
(1)计算机体系结构的异构:各个参与的数据库可以分别运行在大型机、小型机、工作站、PC或嵌入式系统中。
(2)操作系统的异构:各个数据库系统的基础操作系统可以是Unix, Windows NT,Linux等。
(3)数据库管理系统的异构:一种是数据库概念模式的异构:有层次、网状、关系和面向对象4种;另一种是数据库物理模式的异构:指概念模式相同,但数据结构不同,比如Oracle与SQL Server同属关系型,但结构不同。
异构数据库互操作的实现包括三个功能要素:(1)为用户提供功能强大且操作灵活的互操作可视化界面,通过它用户可以直观地对多个异构数据库进行透明访问;(2)提供高级语言数据库访问调用级接口,至于调用级接口的实现层次可由设计者视具体清况而定;(3)支持环境开放性,可能的话还应该支持实现语言开放性。
异构数据库系统的目标在于实现不同数据库之间的数据信息资源、硬件设备资源和人力资源的合并和共享。异构数据库系统集成就是要将数据库系统的不同,操作系统的不同,操作平台的不同或者底层网络的不同进行屏蔽,使得用户就可以将异构数据库系统看成普通的数据库系统,用自己熟悉的数据处理语言去访问数据库,如同访问一个数据库系统一样,对其进行透明的操作。
3 实现异构数据库互操作的途径
面对异构数据库的互操作需求,主要从两个方面同时进行努力:一是建立标准,即建立统一的数据库规范,消除由于标准的不完善而造成的各数据库系统间的差异;二是构建异构数据库互操作平台,实现对多个异构数据库的透明访问。
随着对数据库互操作问题的深入研究,基于不同角度,许多研究者提出了可行的异构数据库互操作途径,这些途径在实现互操作的深度、广度和高度上各不相同,都有各自所适应的特定环境和需求。从异构数据库的核心思想出发,把实现互操作的途径归纳为两大类。
3.1 系统级异构互操作
对于DBMS系统一级异构的网络环境下的数据库互操作,主要有四种实现途径。
(1)数据库网关(Database Gateway)
数据库网关是一种中继器,它能提供应用级的异构数据库集成的手段。网关的主要作用是转换和通信。
数据库网关可以建立比较稳定和透明的数据库互操作,但是其缺点也较为明显。诸如不关心如何屏蔽数据库之间的异构性,不支持事务处理,资源冗余,用户受限于数据库厂商,不能任意选择客户机平台及目标数据库等问题。
(2)公共协议/数据转换协议技术
公共协议是异构数据库进行通信时采用的公认的数据协议,即公认的系统间传递SQL请求和结果的形式。最常见的协议是ANSI/ISO的关系数据存取(RDA)标准、SGA(SQL Access Group)规范和IBM的分布式关系数据库结构(DRDA)。
数据库网关相比,公共协议更具有可扩充性和开放性,能较好地实现异构数据库的透明访问、支持多种网络协议和多种客户平台,是实现异构数据库互操作的有效途径之一。
公共协议/数据转换协议的缺点是协议本身的低效率带来的速度问题。
(3)公共编程接口
公共编程接口包括客户应用编程界面(CAPI)和服务器应用编程界面(SAPI)。CAPI是一组过程库,通常驻留在客户端,通过装载后端专用的驱动程序访问不同的数据库。SAPI提供一个应用编程界面,控制服务器与客户应用请求和目标数据库之间的交互。如Microsoft 的ODBC、Oracle的SQL*NET 以及IDAPI。其优点有:由于提供了统一的调用级接口,使用户免除了应用程序随数据库改变而改变的痛苦;通过API可使应用程序直接操纵数据库中的数据。数据库访问API的缺点是:针对每一个数据库都需要有一个与其对应的驱动程序;由于不同的驱动程序所支持的数据类型和对数据的操作都不相同,其完全透明地访问异构数据库的能力有限;实现效率过分依赖于驱动程序,而驱动程序将标准语法转换成相应数据库的命令语法要花费大量的时间。
(4)中间件技术(Middle Ware)
中间件是处于应用程序及应用程序所在系统的内部工作方式之间的软件,它的基本思想是在各后端数据源和前端应用程序之间建立一个抽象层。把应用程序与系统所依附软件的较低层细节和复杂性隔离开来,使应用程序开发者只处理某种类型的单个API,而其他细节则可以由中间件处理。这样就使系统对每个不同数据源的操作变成对单一的中间件的操作,而后再对中间件进行异构处理。使用中间件技术解决异构数据库集成的问题,将会给系统集成带来很多的好处。这是因为中间件不仅能够使得前端用户访问后端的异构数据库实现透明化,并且保证了访问接口的开放性,这样可以使系统在以后功能上的扩展更加方便。通过中间件来访问数据库的另一个好处就是所有的客户端的请求都发送到了中间件上,减轻了数据库服务器的负担,保证了数据库服务器的性能不会降低。同时,中间件的采用极大地提高了系统的可维护性,在系统内部的某个逻辑发生变化时,只要改变中间层的相应处理程序,前台用户界面不需要做任何的改动,这样就大大降低了系统维护的费用。
3.2 数据结构与语义级异构互操作
目前,对于数据结构和语义一级异构的数据库互操作的研究有紧密耦合和松散耦合两种思想,具体体现于多数据库系统、联邦数据库系统和分布式数据库系统三种方法。
(1)多数据库系统
所谓多数据库系统就是一种能够接受和容纳多个异构数据库的系统,允许各个异构数据库的“自治性”。多数据库系统是一个广义的概念,是相对于如集中式数据库系统或分布式数据库系统那种逻辑上具有同一管理系统而言的,它以多元和分布为主要特征。多元是指它多个彼此区别的集中式或分布式数据库系统;分布则是指数据分布在不同场地的数据库系统中,由各自的管理系统进行管理。
多数据库技术的目标是为在多个数据库之间实现互操作,解决数据库资源共享找到一种技术途径。一般采用分布、异构、自治三个特性作为尺度来刻画多数据库系统。使用这种方法,用户需要显式地指明所要访问的数据库。多数据库系统采用自下而上的方法来实现。
(2)分布式数据库(Distributed Database)
分布式数据库的基本思想是抛弃原有的数据库系统,在网络环境下建立分布的数据库系统,在体系结构、事务处理模型等方面重新设计从而解决信息共享与互操作问题。分布式数据库系统分为同质分布式数据库和异质分布式数据库。像 Oracle、Sybase、Informix 等都是同质分布式数据库系统,这类系统的实现相对来说比较容易一些。异质分布式数据库管理系统大多是在已有的一些数据库管理系统的基础上实现的。
(3)联邦式数据库(Federated Database)
联邦式数据库系统是网络技术和分布式数据库技术发展的必然结果,它是由一组能协调工作,又可以独立自治的部件数据库组成。它可以是原先不分布的,又可以是分布的,具有分布性、自治性、异构性三大特性。
联邦式数据库与分布式数据库系统的区别在于:分布式数据库系统虽然在物理上是分散的,但因为有统一的数据模型及全局数据模式,所以它在逻辑上却是集中的,因此用户感觉到的是一个完整的数据库。显然,这种系统可用于某个专用领域的系统,但不适于不同领域间的异构系统的集成。相反地,联邦式数据库系统是由在不同结点上松散耦合分布的异构成员数据库构成,各联邦成员间的一种松散结合。构成联邦成员的可以是一个集中式数据库,也可以是一个分布式数据库,它们可以根据需要(按某种组合)加入联邦或者根据需要退出联邦。联邦式数据库没有全局模式,各子系统(即联邦成员)按自己的需求建立各自的数据模式。其成员之间的数据共享关系,通过由协商确定的输入/输出模式来建立,单个成员有权拒绝或允许其它成员结点对它的访问。因此,它能够支持多库系统的分布性、异构性和自治性,使之产生满意的集成。
异构数据库的互操作技术使得数据库在原有技术领域发挥重要作用的同时,在未来新的应用领域也有着重要的影响,如地球观测系统 EOSDIS、电子商务、保健信息系统、数字出版、协同设计等领域。
参考文献
[1] 萨师煊,王珊.数据库系统概论.北京:高等教育出版社,2000.2.
[2] 张水平, 万映辉等.异构数据库的集成与互操作. 计算机应用研究, 2000(1).
[3] 郑振楣, 于戈等编著.分布式数据库. 北京: 科学出版社, 1998.
[4] 刘艳梅. 基于 COM/DCOM 组件标准实现异构数据库的联合使用: [博士学位论文]. 北京:北京理工大学, 2000.
[5] 唐巍, 周俊林, 李晓. 异构数据库集成方法初探. 计算机应用研究, 1999(8).
[6] 王艳君, 王运格, 吴丽红. 异构数据库间数据集成的方法. 烟台师范学院学报, 1999, Vol.15(4).
关键词:大数据时代;数据库课程体系;改革;教学模式
数据库的原理和应用一直以来都是高校计算机专业课程中的重要组成部分,具有较强的理论性和实践性。随着大数据时代的到来,大数据技术已经被广泛应用于学生的生活服务、课程体系开发及课堂教学系统中,这也给以关系数据库为主导的高校数据库教学提出了新的挑战。因此,在这样的大背景下,我国高校应当与时俱进,对数据库课程体系进行改革和创新,从而为社会发展培养出更多高素质信息技术人才。可见,加强对大数据背景下高校数据库课堂体系改革和教学模式创新的研究是非常具有现实意义的。
1大数据背景下数据库技术类课程体系的改革
1.1数据库系统
数据库系统是大数据背景下数据库技术中的“基础篇”,因此,高等院校应当增加对数据库系统讲授经典的关系数据模型及相应的数据管理技术的课时,将其作为必修课程,每周必须要安排3个课时。经典数据库技术主要包括数据库学科中重要和通用的基础理论和思路。课程重点应当包括关系数据模型、数据库逻辑设计、ER模型、查询优化、数据库表设计和事务管理等。同时还要简单地介绍关系代数、函数依赖、规范化的基本理念和思想及SQL语句、视图、存储过程、触发器等基本思想。这些理论知识在学期末采取闭卷考试的方式对学生的掌握情况进行考核。
1.2海量数据分析
在大数据背景下,数据库管理将面临着海量的数据,学生必须要学会对这些数据进行分析和处理。因此,高校应当将海量数据分析作为选修课程,每周安排3个课时。NoSQL数据管理技术是对关系型数据管理技术的补充,其中主要包括针对异构海量数据的存储、查询及分析等技术,是电子商务、社交网络和web搜索等新型应用的技术支持,同时这也是大数据背景下数据分析的主要技术。高校可以将NoSQL数据管理技术的应用作为大数据时代数据库技术的“提高篇”。该项课程应当采取课程和实验相结合的方式进行教学,在学期末采用实习报告的方式对学生进行考核。
1.3数据库系统实践
数据库是一门理论和实践相结合的课程,因此,高等院校数据库课程改革中必须要注重实践教学。将和数据库系统概论相对应的实验课程作为必修课,每周安排2个课时;将和海量数据分析相对应的实验课程作为选修课,每周安排3个课时。数据库系统实践课程可以采取以下方式进行:第一,以关系型数据库为实验平台,在实验室的计算机上完成,实验的主要内容包括数据库的设计、表格的设计、数据的查询处理、性能测试、事物的管理、视图以及存储过程和触发器等。第二,以分组的形式完成实验任务,实验的主要内容包括分布式集群的搭建、Hbase和Hive系统的配置和数据管理、Hadoop系统配置、MapReduce编程模型的应用、海量数据的存储和查询及海量数据的分析算法和性能测试等。
2大数据背景下高校数据库课程体系改革的实施与保障
2.1加强师资队伍建设
师资队伍是实施高校数据库课程体系改革的前提。目前,高等院校的数据库任课教师大多擅长传统的关系型数据库管理技术,但是缺乏对海量数据分析和数据系统实践的能力,这也使得师资队伍的建设成为实施数据库课堂体系改革的主要瓶颈。新的课程体系对于数据库任课教师的专业能力和水平提出了更高要求。因此,高等院校必须要根据海量数据分析和数据库系统实践的教学内容和要求,加强师资队伍建设。可以聘请企业精英作为讲师,也可以通过培训和自主学习提高现有师资的专业素养,从而提高高校数据库课程教学的团队水平。
2.2完善实践平台
实践平台是实施高校数据库课程体系改革的基础。目前,很多的高校计算机专业实验室都严重缺乏可供部署海量数据管理平台的分布式集群和相应的软件配置。因此,高等院校应当从实验课程的角度,通过借鉴“去IOE”的思路(由个人电脑或服务器所构成),配置实验项目和运行相关软件系统的硬件平台,从而满足学生实践操作的学习需求。另外,在课程教学过程中,应当使用开源软件,通过硬件设备为实验课程的顺利开展提供保障,从而不断完善数据库实验教学,提高学生的实践能力。
3大数据背景下教学模式改革分析
3.1传统教学模式特点
传统教育模式中,教师根据授课计划查阅相关资料及文献,以确保讲课过程的科学性,学生提前预习,从而使教师和学生在课堂上形成一个很好的融合,使授课顺畅有序进行。但是传统教学往往采用一种满堂灌的教学模式,忽视了学生的主观能动性,教学模式固定并且单一。从传统教学过程上来看,教师面对的是几十人的班级授课,学生学习水平参差不齐,教师只能按照学生的中等水平进行讲授,不能将学生的学习水平控制在自己能够控制的范围内。这样会导致水平高的学生认为教师讲得过于浅显而不想听,水平低的学生会觉得听不懂也不想听,教学效率相对较低。
3.2大数据背景下教学模式分析
首先,在大数据时代,学生可以通过在线学习途径获取知识,与传统课堂教学模式相比,在线意味着教育工作者可以提供不受时间和地点限制的教学活动。于是出现了慕课和微课等在线教学平台,充分利用了网络的交互特性,支持师生之间、学生与学生之间全天候地在线互动与交流。其次,传统教学模式中,为了提高教育的公平性和大众化,教师在固定的场所、在有限的教学时间对很多学生进行标准化、灌输式教学模式,无法因材施教到每个人,导致人才培养同质化现象非常严重,限制了学生创新意识的培养。但是,在大数据背景下的教学模式越来越个性化,教师在教学过程中开始关注学习者个性化培养模式,教师由灌输式教学模式转变为助学教学模式,为学习者提供服务和协作交流。最后,大数据背景下,教师不再需要完全按照教案的模式进行授课,而是自己精心设计一些教学资源,比如微课、慕课、反转课堂,同时可以充分借助一流教学名师的经验,给学生提供一个更好的教学环境,教师的职能由传统的以教学为中心转变为设计、组织、帮助和指导式教学,真正实现线上和线下混合学习,打造汇聚更多优质课程和学习者的学习社区平台。支持教师采用多种模式进行教学,借助视频等软件构建一个学习型社区,给学生提供一个重体验、强交互的学习环境,提高学生的学习质量和学习效率。
关键词 超大型数据库;性能优化;动态表分区
中图分类号TP392 文献标识码A 文章编号 1674-6708(2013)82-0222-02
0引言
基于内容的网络安全审计系统,为了进行事后统计分析和提供证据,需要将用户指定范围内所有采集到的数据信息存入数据库以及相对应的文件中。能够保存较长时间范围内的历史数据信息对于网络安全审计系统来说是非常重要的,通常情况下需要保存最近三个月的历史数据信息。
经过前期需求和数据测试分析,1G的电信网络中每天大约会增加6 000万个数据文件和数据记录,这样其存储的数据库规模非常大。数据库规模的不断变大,将会导致数据库系统性能的急剧下降,使得数据库维护的成本不断上升,甚至造成周期性的停机。
1表分区
表分区技术就是当数据库中的某个表变得特别大时,可以根据一定的条件或者规则,将一个大表划分为多个包含少量数据的分区,每个分区都是一个逻辑实体,是表的一个子集。通过将一个大表拆分成为多个更小的单个表,使得只访问一小部分数据的查询执行得更快。另外,对于这些小表可以更快地执行维护任务(如重建索引、数据备份或导入导出等)。
在超大型数据库中,通常不使用单个分区中的大数据集,而采用经过优化设计的本地分区和访问策略,能够使查询性能提高一倍以上,甚至几十倍。采用表分区技术的优点:
1)可以极大地缩短查询时间;
2)减少数据加载时间,改善数据库的可维护性;
3)解决从活动数据库中删除历史数据时出现的数据修剪问题。
2动态表分区
表分区按照实现的方式不同可以分为静态和动态两种。所谓静态表分区就是在数据库初始化的时候按照预定格式一次性生成所有分区。而动态表分区则是应用程序根据一定的规则动态创建所需分区,并对这些分区进行动态管理和维护。采用静态表分区技术的应用程序实现比较简单,但是可扩展性较差。采用动态表分区技术的应用程序实现要复杂一些,但是开发出来的应用程序可扩展性较好,能够根据不同的需求进行扩展。
静态表分区是目前超大型数据库系统解决方案中普遍采用的一种技术,到目前为止,还未见一种比较完善的基于动态分区的解决方案。另外,将基于动态分区的超大型数据库系统性能问题的解决方案应用到网络安全领域是一个需要特别研究的问题。
设计开发的网络安全审计系统产品定位于100M~1000M以上的高端网络用户(兼容中低端用户),其数据存储和处理规模非常巨大,为了使得产品具有更好的扩展性能,该系统采用动态表分区技术。
3多表查询
在采用分区视图技术实现多表联合查询之前必须动态创建一个包含多个成员表的分区视图。对于超大型数据库来说,动态创建几个表的分区索引视图需要大量的时间。另外,分区视图技术是通过使用联合查询运算符来实现的,很多个大数据量表的联合查询性能是比较低的,这将在下面的性能测试中进行说明。
采用临时表技术则没有多表联合查询的那些限制,实现也比较简单,性能比执行联合查询要好得多,但是产生的事务日志信息比较多。另外,采用临时表技术的时候还可以利用多表分页查询机制来控制每次数据查询时需要访问的数据范围以及返回的记录数,以提高数据查询的速度。对于性能要求比较高的超大型数据库应用程序来说,建议采用临时表技术来满足动态分区的数据库查询统计的性能要求。
4解决方案
本文采用一种如图2所示的解决方案,来解决基于动态表分区的网络安全审计系统超大型数据库的性能问题,并为开发人员提供独立于数据库设计的基于动态表分区的数据库通用访问接口。
此方案在普通数据库应用程序的基础上增加一个的基于动态表分区的访问接口的模块,并对该模块进行优化。
5结论
由于采取了动态表分区技术并对相关接口进行优化,使得网络安全审计系统的性能得到了很大提高。
在千兆环境压力测试中每秒能提交9000条左右的数据记录,各种数据库查询统计操作都能够得到快速响应,经相同环境下的压力测试其性能比同类产品都要响应迅速。
参考文献
[1]求是科技著.SQL Server 2000数据库管理与开发技术大全[M].北京:人民邮件出版社,2004