王麗麗 解艷 南貌
摘要:大數(shù)據(jù)時代中的數(shù)據(jù)都是以海量形式存在,文章分析了大數(shù)據(jù)的特點(diǎn),闡述了高職數(shù)據(jù)庫教學(xué)實(shí)踐中存在的問題,提出了將NoSQL數(shù)據(jù)庫引入教學(xué)的必要性,對NoSQL數(shù)據(jù)庫在高職數(shù)據(jù)庫中的教學(xué)進(jìn)行了探索,并明確了今后需要解決的問題。
關(guān)鍵詞:大數(shù)據(jù);NoSQL;必要性
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)24-0152-02
Abstract: In the era of big data, Data exist in the massive form. The characteristic of big data is analyzed, the problem of higher vocational database teaching is elaborated. The necessity of NoSQL database is proposed in database teaching. The teaching of NoSQL database in the database curriculum is discussed, and many unresolved problems are cleared in this research.
Key words: big data; NoSQL; necessity
數(shù)據(jù)庫原理與應(yīng)用是高職計算機(jī)專業(yè)的核心課程,其理論性和實(shí)踐性很強(qiáng)。在信息網(wǎng)絡(luò)高速發(fā)展的當(dāng)今時代,特別是移動互聯(lián)網(wǎng)、大數(shù)據(jù)的出現(xiàn),對以關(guān)系數(shù)據(jù)庫為主的傳統(tǒng)高職數(shù)據(jù)庫教學(xué)發(fā)起了挑戰(zhàn)。傳統(tǒng)高職數(shù)據(jù)庫教學(xué)能否適應(yīng)時代發(fā)展的需要,如何引導(dǎo)學(xué)生掌握新的數(shù)據(jù)庫知識,是當(dāng)前高職數(shù)據(jù)庫教學(xué)工作中出現(xiàn)的新問題。
1 大數(shù)據(jù)
什么是大數(shù)據(jù)?文獻(xiàn)[1]中的一位美國作者是這樣描述大數(shù)據(jù)的:
“Among all the definitions offered for “big data”, my favorite is that it means data thats too big, too fast, or too hard for existing tools to process”.
所以,大數(shù)據(jù)是指,規(guī)模、涌現(xiàn)速度和處理難度超出目前技術(shù)工具能分析、處理和管理的數(shù)據(jù)。
一般而言,大數(shù)據(jù)的特征可用三個V描述[2]:第一個是量大(Volume);第二個是流動性大(Velocity),典型的如微博;第三個是種類多(Variety),有結(jié)構(gòu)化數(shù)據(jù),也有半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)。簡言之,大數(shù)據(jù)的特征是數(shù)據(jù)的三個轉(zhuǎn)變:即從結(jié)構(gòu)化到半結(jié)構(gòu)化甚至非結(jié)構(gòu)化的形態(tài)轉(zhuǎn)變,傳統(tǒng)的批量處理方式向流處理方式轉(zhuǎn)變、數(shù)據(jù)量從TB(1024GB)級向PB(1024TB)級或更高級(EB、ZB、YB等)轉(zhuǎn)變。
隨著科技的發(fā)展,大數(shù)據(jù)日益涌現(xiàn),各行各業(yè)將都得益于大數(shù)據(jù),如互聯(lián)網(wǎng)數(shù)據(jù)、金融數(shù)據(jù)、統(tǒng)計數(shù)據(jù)、移動數(shù)據(jù)、物聯(lián)網(wǎng)數(shù)據(jù)、企業(yè)數(shù)據(jù)等[3]。用戶將面臨的大數(shù)據(jù)如下圖1所示。
2 高職數(shù)據(jù)庫教學(xué)的現(xiàn)實(shí)分析
近年來,由于各種移動互聯(lián)網(wǎng)終端(包括智能手機(jī)、個人數(shù)字助理PDA、iPad等)的廣泛應(yīng)用,學(xué)生有更多的機(jī)會接觸網(wǎng)絡(luò),對計算機(jī)學(xué)習(xí)新鮮感比較強(qiáng),傳統(tǒng)的數(shù)據(jù)庫教學(xué)先從學(xué)習(xí)Visual FoxPro入手,應(yīng)用學(xué)生在日常生活中能夠接觸到的事務(wù)舉例,通過理論教學(xué)和項(xiàng)目實(shí)驗(yàn),讓學(xué)生使用數(shù)據(jù)庫開發(fā)工具建立各種管理系統(tǒng)。例如:建立學(xué)籍管理系統(tǒng)可以查詢學(xué)生的學(xué)籍檔案信息,對學(xué)生成績能按照各種要求進(jìn)行統(tǒng)計,生成報表。建立圖書借閱管理系統(tǒng)可以方便查詢讀者信息,借閱書目情況等。
關(guān)系數(shù)據(jù)庫系統(tǒng)是當(dāng)前使用最為廣泛的數(shù)據(jù)庫系統(tǒng)之一,它以二值邏輯和嚴(yán)密的數(shù)學(xué)理論為基礎(chǔ),擅長表示精確的、有良好結(jié)構(gòu)的數(shù)據(jù)[4]。通過傳統(tǒng)的高職數(shù)據(jù)庫教學(xué),學(xué)生雖能掌握關(guān)系數(shù)據(jù)庫的理論知識和數(shù)據(jù)庫開發(fā)工具的使用,但卻很難用關(guān)系數(shù)據(jù)庫理論知識解釋現(xiàn)實(shí)世界中大量存在的模糊信息。特別是隨著移動互聯(lián)網(wǎng)、全媒體技術(shù)、物聯(lián)網(wǎng)、云計算技術(shù)及引用的蓬勃發(fā)展,人類產(chǎn)生的數(shù)據(jù)不僅以指數(shù)數(shù)量級增長,而且其結(jié)構(gòu)變得日趨復(fù)雜,出現(xiàn)了各種結(jié)構(gòu)性、半結(jié)構(gòu)性甚至非結(jié)構(gòu)性的海量數(shù)據(jù),遠(yuǎn)遠(yuǎn)超越了傳統(tǒng)數(shù)據(jù)庫的管理能力。為了適應(yīng)新技術(shù)的發(fā)展變化,高職數(shù)據(jù)庫教學(xué)需要將傳統(tǒng)的關(guān)系數(shù)據(jù)庫拓展到非關(guān)系數(shù)據(jù)庫領(lǐng)域。
3 NoSQL數(shù)據(jù)庫在高職數(shù)據(jù)庫教學(xué)中的探索
NoSQL數(shù)據(jù)庫能運(yùn)用非關(guān)系型的數(shù)據(jù)存儲,在大數(shù)據(jù)存儲上具備關(guān)系數(shù)據(jù)庫無法比擬的性能優(yōu)勢。但NoSQL很難實(shí)現(xiàn)數(shù)據(jù)的完整性,并且對數(shù)據(jù)的一致性要求不是很高。根據(jù)當(dāng)前數(shù)據(jù)庫課程的教學(xué)實(shí)際,將NoSQL數(shù)據(jù)庫引入到高職數(shù)據(jù)庫教學(xué)中,提出了該課程教學(xué)探索的總體思路:
第一,正確定位高職專業(yè)人才培養(yǎng)目標(biāo),在此基礎(chǔ)上明確數(shù)據(jù)庫教學(xué)的目標(biāo)。以培養(yǎng)高級技術(shù)應(yīng)用型人才為導(dǎo)向的高職教育,必須從符合行業(yè)和企業(yè)的需求出發(fā),以滿足學(xué)生今后的實(shí)際工作需要和社會對學(xué)生的技能要求為主線來開展教學(xué)。隨著大數(shù)據(jù)在各行各業(yè)的涌現(xiàn),NoSQL對大數(shù)據(jù)的存儲和管理已成為一項(xiàng)熱門技術(shù)。高職教育要緊跟時代發(fā)展,滿足行業(yè)需求,需要將NoSQL數(shù)據(jù)庫的運(yùn)用納入到高職計算機(jī)專業(yè)人才培養(yǎng)目標(biāo)中來,在高職數(shù)據(jù)庫教學(xué)中增設(shè)NoSQL數(shù)據(jù)庫的教學(xué)內(nèi)容。在進(jìn)行關(guān)系數(shù)據(jù)庫教學(xué)的同時,通過實(shí)例讓學(xué)生理解NoSQL數(shù)據(jù)庫產(chǎn)生的時代背景。NoSQL技術(shù)不是實(shí)驗(yàn)室的產(chǎn)物,而是實(shí)際需求的推動,這里的推動主要是指互聯(lián)網(wǎng)的發(fā)展[5]。Web2.0時代,用戶在使用網(wǎng)絡(luò)的同時也在改變網(wǎng)絡(luò)的內(nèi)容。例如:用戶在瀏覽微博網(wǎng)站信息的同時,也能發(fā)布自己的信息。這樣就改變了對網(wǎng)站后臺數(shù)據(jù)庫的訪問方式,即從web1.0時代中對數(shù)據(jù)庫頻繁的讀操作變成了頻繁的讀寫操作。這往往要達(dá)到每秒上萬次讀寫請求,關(guān)系數(shù)據(jù)庫基本能滿足上萬次的SQL查詢,但要同時完成上萬次的SQL寫數(shù)據(jù)操作,關(guān)系數(shù)據(jù)庫系統(tǒng)就已經(jīng)無法承受了。因此,對大數(shù)據(jù)讀寫操作需求的變化推動了NoSQL等新技術(shù)的發(fā)展。
第二,加強(qiáng)數(shù)據(jù)庫實(shí)踐性教學(xué)環(huán)節(jié),在實(shí)驗(yàn)中理解兩種數(shù)據(jù)庫各自的特點(diǎn)。關(guān)系數(shù)據(jù)庫是以二維表的形式來存儲數(shù)據(jù)的,表的組織形式嚴(yán)格,表中的每一行代表一條數(shù)據(jù)記錄,每一列代表特定屬性的信息。表與表之間存在著聯(lián)系和某種約束關(guān)系。消除數(shù)據(jù)冗余和嚴(yán)格的數(shù)據(jù)一致性是關(guān)系數(shù)據(jù)庫的基本特征。
與關(guān)系數(shù)據(jù)庫相比,NoSQL數(shù)據(jù)庫具備的特點(diǎn)有[6]:處理超大量的數(shù)據(jù);部署在易擴(kuò)展的PC服務(wù)器集群上;執(zhí)行速度快;沒有過多的操作,對數(shù)據(jù)一致性和完整性等要求較低。
第三,采用啟發(fā)式教學(xué)法,合理掌握兩種數(shù)據(jù)庫的應(yīng)用。根據(jù)教學(xué)任務(wù)和學(xué)習(xí)的客觀規(guī)律,以各種案例啟發(fā)學(xué)生的思維為核心,采取各種教學(xué)方法,提高學(xué)生學(xué)習(xí)熱情和興趣,從而達(dá)到課程學(xué)習(xí)的效果,是啟發(fā)式教學(xué)的指導(dǎo)思想。通過列舉各種數(shù)據(jù)庫的應(yīng)用實(shí)例,引導(dǎo)學(xué)生理解兩種數(shù)據(jù)庫不同的應(yīng)用領(lǐng)域。例如,近年來,以Web2.0重要產(chǎn)物為代表的社交網(wǎng)絡(luò),其注冊用戶的規(guī)模日漸增長,2011年8月,F(xiàn)acebook的用戶已經(jīng)接近7億,用戶對web的需求也在提高,縮短用戶操作的響應(yīng)時間已成為提高網(wǎng)絡(luò)質(zhì)量的基本要求。關(guān)系數(shù)據(jù)庫的優(yōu)勢在于嚴(yán)格保證數(shù)據(jù)的一致性,而當(dāng)大規(guī)模用戶同時操作時,對現(xiàn)實(shí)的需求而言,嚴(yán)格的一致性并不是必須的,而最重要的是快速高效的數(shù)據(jù)響應(yīng),NoSQL在保證最終一致性的情況下能夠?qū)崿F(xiàn)高效的數(shù)據(jù)訪問。
此外,有時要將兩種數(shù)據(jù)庫同時運(yùn)用,發(fā)揮各自的優(yōu)勢。例如,在存儲博客、微博等大量信息時,將標(biāo)識每條信息記錄唯一的主鍵存儲在關(guān)系數(shù)據(jù)庫中,作為查詢的索引,而信息的大量文本內(nèi)容存儲在NoSQL數(shù)據(jù)庫中。當(dāng)用戶查找某條發(fā)布的信息時,首先根據(jù)關(guān)系數(shù)據(jù)庫中的索引,快速查詢到該條記錄的主鍵,通過兩種數(shù)據(jù)庫之間的映射關(guān)系,根據(jù)主鍵即可定位到存儲在NoSQL數(shù)據(jù)庫中的信息內(nèi)容。這樣既發(fā)揮了關(guān)系數(shù)據(jù)庫對數(shù)據(jù)嚴(yán)格一致性的要求,方便查詢的優(yōu)勢,又發(fā)揮了NoSQL數(shù)據(jù)庫擅長存儲和管理大數(shù)據(jù)的優(yōu)勢。
由此可見,NoSQL數(shù)據(jù)庫不是關(guān)系數(shù)據(jù)庫的替代產(chǎn)品,而是對其功能的補(bǔ)充和完善。
第四,改革傳統(tǒng)的考試方式,注重考察學(xué)生分析問題、解決問題的綜合能力和素質(zhì)。通過課堂理論授課和項(xiàng)目實(shí)驗(yàn)操作,著重鍛煉和提高學(xué)生運(yùn)用兩種數(shù)據(jù)庫進(jìn)行設(shè)計開發(fā)的能力,以及與他人合作的團(tuán)隊(duì)協(xié)調(diào)能力。
4 需要解決的問題
近年來,NoSQL技術(shù)作為當(dāng)前數(shù)據(jù)庫領(lǐng)域不容忽視的力量,已引起了許多高校的關(guān)注,傳統(tǒng)的數(shù)據(jù)庫教學(xué)面臨以下幾個需要解決的問題:
問題一,教師對新知識的認(rèn)知和講授能力有待提高。長期以來,由于關(guān)系數(shù)據(jù)庫的廣泛應(yīng)用,往往認(rèn)為關(guān)系數(shù)據(jù)庫在數(shù)據(jù)庫課程教學(xué)中占主導(dǎo)和統(tǒng)治地位,而忽略了對其他數(shù)據(jù)庫的研究。當(dāng)前高校教育滯后于市場對人才的需求,因此,教師能否緊跟科技發(fā)展步伐,對NoSQL等新興技術(shù)的認(rèn)知能力,包括對新技術(shù)的認(rèn)可、掌握和熟悉,以及在授課過程中,如何把握NoSQL技術(shù)和關(guān)系數(shù)據(jù)庫之間的關(guān)系,融合應(yīng)用兩種技術(shù),使學(xué)生對其有個清晰和系統(tǒng)的認(rèn)識,是數(shù)據(jù)庫課程教師需要改進(jìn)和提高的重要問題之一。
問題二,學(xué)生接受和掌握新知識的學(xué)習(xí)力需要提高。對于剛開始學(xué)習(xí)數(shù)據(jù)庫課程的學(xué)生而言,要同時掌握兩種具有對立性質(zhì)的數(shù)據(jù)庫技術(shù),存在一定的困難。因此,學(xué)生能否在學(xué)習(xí)過程中充分發(fā)揮主觀能動性,努力掌握新技術(shù),提高自己的知識水平,是學(xué)生需要解決的問題。
問題三,教學(xué)的實(shí)驗(yàn)條件亟待加強(qiáng)。目前,大部分學(xué)校的實(shí)驗(yàn)軟硬件條件基本能滿足關(guān)系數(shù)據(jù)庫技術(shù)的教學(xué)需要,但當(dāng)面對NoSQL技術(shù)在大數(shù)據(jù)處理的優(yōu)勢時,如何構(gòu)建實(shí)驗(yàn)環(huán)境也是數(shù)據(jù)庫教學(xué)的一個重要問題。
5 結(jié)束語
NoSQL數(shù)據(jù)庫是大數(shù)據(jù)時代下的必然產(chǎn)物,隨著該新技術(shù)的廣泛應(yīng)用,以關(guān)系數(shù)據(jù)庫為主的傳統(tǒng)高職數(shù)據(jù)庫教學(xué)將面臨改革。高職數(shù)據(jù)庫教學(xué)應(yīng)以社會對人才的需求為導(dǎo)向,關(guān)注科技發(fā)展動態(tài),緊跟科技發(fā)展步伐,轉(zhuǎn)變教學(xué)觀念,改進(jìn)教學(xué)方法,優(yōu)化教學(xué)環(huán)境,提高教學(xué)軟實(shí)力,才能為學(xué)生發(fā)揮好從學(xué)校到工作實(shí)踐的橋梁作用。
參考文獻(xiàn):
[1] Sam Madden. From Databases to Big Data[J].Ieee Internet Computing.,2012(5).
[2] 顧君忠.大數(shù)據(jù)與大數(shù)據(jù)分析[J].軟件產(chǎn)業(yè)與工程,2013(4).
[3] Haluk Demirkan, Dursun Delen. Leveraging the capabilities of service-oriented decision support systems: Putting analytics and big data in cloud[J]. Decision Support Systems,2013(3).
[4] 呂艷輝.數(shù)據(jù)庫支持的模糊OWL本體管理[M].國防工業(yè)出版社,2013.
[5] 婁穎.淺析NoSQL技術(shù)與數(shù)據(jù)庫教學(xué)的關(guān)系[J].計算機(jī)時代,2013(5).
[6] 姚金海,吳森.大數(shù)據(jù)技術(shù)應(yīng)用探討[J].西安通信學(xué)院學(xué)報,2012(12).
[7] 胡健. 高職教育數(shù)據(jù)庫教學(xué)中幾個問題的探析[J]. 內(nèi)蒙古石油化工,2005(8).