王麗麗 解艷 南貌
摘要:大數(shù)據(jù)時代中的數(shù)據(jù)都是以海量形式存在,文章分析了大數(shù)據(jù)的特點,闡述了高職數(shù)據(jù)庫教學實踐中存在的問題,提出了將NoSQL數(shù)據(jù)庫引入教學的必要性,對NoSQL數(shù)據(jù)庫在高職數(shù)據(jù)庫中的教學進行了探索,并明確了今后需要解決的問題。
關(guān)鍵詞:大數(shù)據(jù);NoSQL;必要性
中圖分類號:TP311 文獻標識碼: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)用是高職計算機專業(yè)的核心課程,其理論性和實踐性很強。在信息網(wǎng)絡(luò)高速發(fā)展的當今時代,特別是移動互聯(lián)網(wǎng)、大數(shù)據(jù)的出現(xiàn),對以關(guān)系數(shù)據(jù)庫為主的傳統(tǒng)高職數(shù)據(jù)庫教學發(fā)起了挑戰(zhàn)。傳統(tǒng)高職數(shù)據(jù)庫教學能否適應(yīng)時代發(fā)展的需要,如何引導學生掌握新的數(shù)據(jù)庫知識,是當前高職數(shù)據(jù)庫教學工作中出現(xiàn)的新問題。
1 大數(shù)據(jù)
什么是大數(shù)據(jù)?文獻[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ù)庫教學的現(xiàn)實分析
近年來,由于各種移動互聯(lián)網(wǎng)終端(包括智能手機、個人數(shù)字助理PDA、iPad等)的廣泛應(yīng)用,學生有更多的機會接觸網(wǎng)絡(luò),對計算機學習新鮮感比較強,傳統(tǒng)的數(shù)據(jù)庫教學先從學習Visual FoxPro入手,應(yīng)用學生在日常生活中能夠接觸到的事務(wù)舉例,通過理論教學和項目實驗,讓學生使用數(shù)據(jù)庫開發(fā)工具建立各種管理系統(tǒng)。例如:建立學籍管理系統(tǒng)可以查詢學生的學籍檔案信息,對學生成績能按照各種要求進行統(tǒng)計,生成報表。建立圖書借閱管理系統(tǒng)可以方便查詢讀者信息,借閱書目情況等。
關(guān)系數(shù)據(jù)庫系統(tǒng)是當前使用最為廣泛的數(shù)據(jù)庫系統(tǒng)之一,它以二值邏輯和嚴密的數(shù)學理論為基礎(chǔ),擅長表示精確的、有良好結(jié)構(gòu)的數(shù)據(jù)[4]。通過傳統(tǒng)的高職數(shù)據(jù)庫教學,學生雖能掌握關(guān)系數(shù)據(jù)庫的理論知識和數(shù)據(jù)庫開發(fā)工具的使用,但卻很難用關(guān)系數(shù)據(jù)庫理論知識解釋現(xiàn)實世界中大量存在的模糊信息。特別是隨著移動互聯(lián)網(wǎng)、全媒體技術(shù)、物聯(lián)網(wǎng)、云計算技術(shù)及引用的蓬勃發(fā)展,人類產(chǎn)生的數(shù)據(jù)不僅以指數(shù)數(shù)量級增長,而且其結(jié)構(gòu)變得日趨復雜,出現(xiàn)了各種結(jié)構(gòu)性、半結(jié)構(gòu)性甚至非結(jié)構(gòu)性的海量數(shù)據(jù),遠遠超越了傳統(tǒng)數(shù)據(jù)庫的管理能力。為了適應(yīng)新技術(shù)的發(fā)展變化,高職數(shù)據(jù)庫教學需要將傳統(tǒng)的關(guān)系數(shù)據(jù)庫拓展到非關(guān)系數(shù)據(jù)庫領(lǐng)域。
3 NoSQL數(shù)據(jù)庫在高職數(shù)據(jù)庫教學中的探索
NoSQL數(shù)據(jù)庫能運用非關(guān)系型的數(shù)據(jù)存儲,在大數(shù)據(jù)存儲上具備關(guān)系數(shù)據(jù)庫無法比擬的性能優(yōu)勢。但NoSQL很難實現(xiàn)數(shù)據(jù)的完整性,并且對數(shù)據(jù)的一致性要求不是很高。根據(jù)當前數(shù)據(jù)庫課程的教學實際,將NoSQL數(shù)據(jù)庫引入到高職數(shù)據(jù)庫教學中,提出了該課程教學探索的總體思路:
第一,正確定位高職專業(yè)人才培養(yǎng)目標,在此基礎(chǔ)上明確數(shù)據(jù)庫教學的目標。以培養(yǎng)高級技術(shù)應(yīng)用型人才為導向的高職教育,必須從符合行業(yè)和企業(yè)的需求出發(fā),以滿足學生今后的實際工作需要和社會對學生的技能要求為主線來開展教學。隨著大數(shù)據(jù)在各行各業(yè)的涌現(xiàn),NoSQL對大數(shù)據(jù)的存儲和管理已成為一項熱門技術(shù)。高職教育要緊跟時代發(fā)展,滿足行業(yè)需求,需要將NoSQL數(shù)據(jù)庫的運用納入到高職計算機專業(yè)人才培養(yǎng)目標中來,在高職數(shù)據(jù)庫教學中增設(shè)NoSQL數(shù)據(jù)庫的教學內(nèi)容。在進行關(guān)系數(shù)據(jù)庫教學的同時,通過實例讓學生理解NoSQL數(shù)據(jù)庫產(chǎn)生的時代背景。NoSQL技術(shù)不是實驗室的產(chǎn)物,而是實際需求的推動,這里的推動主要是指互聯(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ù)庫頻繁的讀操作變成了頻繁的讀寫操作。這往往要達到每秒上萬次讀寫請求,關(guān)系數(shù)據(jù)庫基本能滿足上萬次的SQL查詢,但要同時完成上萬次的SQL寫數(shù)據(jù)操作,關(guān)系數(shù)據(jù)庫系統(tǒng)就已經(jīng)無法承受了。因此,對大數(shù)據(jù)讀寫操作需求的變化推動了NoSQL等新技術(shù)的發(fā)展。
第二,加強數(shù)據(jù)庫實踐性教學環(huán)節(jié),在實驗中理解兩種數(shù)據(jù)庫各自的特點。關(guān)系數(shù)據(jù)庫是以二維表的形式來存儲數(shù)據(jù)的,表的組織形式嚴格,表中的每一行代表一條數(shù)據(jù)記錄,每一列代表特定屬性的信息。表與表之間存在著聯(lián)系和某種約束關(guān)系。消除數(shù)據(jù)冗余和嚴格的數(shù)據(jù)一致性是關(guān)系數(shù)據(jù)庫的基本特征。
與關(guān)系數(shù)據(jù)庫相比,NoSQL數(shù)據(jù)庫具備的特點有[6]:處理超大量的數(shù)據(jù);部署在易擴展的PC服務(wù)器集群上;執(zhí)行速度快;沒有過多的操作,對數(shù)據(jù)一致性和完整性等要求較低。
第三,采用啟發(fā)式教學法,合理掌握兩種數(shù)據(jù)庫的應(yīng)用。根據(jù)教學任務(wù)和學習的客觀規(guī)律,以各種案例啟發(fā)學生的思維為核心,采取各種教學方法,提高學生學習熱情和興趣,從而達到課程學習的效果,是啟發(fā)式教學的指導思想。通過列舉各種數(shù)據(jù)庫的應(yīng)用實例,引導學生理解兩種數(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)勢在于嚴格保證數(shù)據(jù)的一致性,而當大規(guī)模用戶同時操作時,對現(xiàn)實的需求而言,嚴格的一致性并不是必須的,而最重要的是快速高效的數(shù)據(jù)響應(yīng),NoSQL在保證最終一致性的情況下能夠?qū)崿F(xiàn)高效的數(shù)據(jù)訪問。
此外,有時要將兩種數(shù)據(jù)庫同時運用,發(fā)揮各自的優(yōu)勢。例如,在存儲博客、微博等大量信息時,將標識每條信息記錄唯一的主鍵存儲在關(guān)系數(shù)據(jù)庫中,作為查詢的索引,而信息的大量文本內(nèi)容存儲在NoSQL數(shù)據(jù)庫中。當用戶查找某條發(fā)布的信息時,首先根據(jù)關(guān)系數(shù)據(jù)庫中的索引,快速查詢到該條記錄的主鍵,通過兩種數(shù)據(jù)庫之間的映射關(guān)系,根據(jù)主鍵即可定位到存儲在NoSQL數(shù)據(jù)庫中的信息內(nèi)容。這樣既發(fā)揮了關(guān)系數(shù)據(jù)庫對數(shù)據(jù)嚴格一致性的要求,方便查詢的優(yōu)勢,又發(fā)揮了NoSQL數(shù)據(jù)庫擅長存儲和管理大數(shù)據(jù)的優(yōu)勢。
由此可見,NoSQL數(shù)據(jù)庫不是關(guān)系數(shù)據(jù)庫的替代產(chǎn)品,而是對其功能的補充和完善。
第四,改革傳統(tǒng)的考試方式,注重考察學生分析問題、解決問題的綜合能力和素質(zhì)。通過課堂理論授課和項目實驗操作,著重鍛煉和提高學生運用兩種數(shù)據(jù)庫進行設(shè)計開發(fā)的能力,以及與他人合作的團隊協(xié)調(diào)能力。
4 需要解決的問題
近年來,NoSQL技術(shù)作為當前數(shù)據(jù)庫領(lǐng)域不容忽視的力量,已引起了許多高校的關(guān)注,傳統(tǒng)的數(shù)據(jù)庫教學面臨以下幾個需要解決的問題:
問題一,教師對新知識的認知和講授能力有待提高。長期以來,由于關(guān)系數(shù)據(jù)庫的廣泛應(yīng)用,往往認為關(guān)系數(shù)據(jù)庫在數(shù)據(jù)庫課程教學中占主導和統(tǒng)治地位,而忽略了對其他數(shù)據(jù)庫的研究。當前高校教育滯后于市場對人才的需求,因此,教師能否緊跟科技發(fā)展步伐,對NoSQL等新興技術(shù)的認知能力,包括對新技術(shù)的認可、掌握和熟悉,以及在授課過程中,如何把握NoSQL技術(shù)和關(guān)系數(shù)據(jù)庫之間的關(guān)系,融合應(yīng)用兩種技術(shù),使學生對其有個清晰和系統(tǒng)的認識,是數(shù)據(jù)庫課程教師需要改進和提高的重要問題之一。
問題二,學生接受和掌握新知識的學習力需要提高。對于剛開始學習數(shù)據(jù)庫課程的學生而言,要同時掌握兩種具有對立性質(zhì)的數(shù)據(jù)庫技術(shù),存在一定的困難。因此,學生能否在學習過程中充分發(fā)揮主觀能動性,努力掌握新技術(shù),提高自己的知識水平,是學生需要解決的問題。
問題三,教學的實驗條件亟待加強。目前,大部分學校的實驗軟硬件條件基本能滿足關(guān)系數(shù)據(jù)庫技術(shù)的教學需要,但當面對NoSQL技術(shù)在大數(shù)據(jù)處理的優(yōu)勢時,如何構(gòu)建實驗環(huán)境也是數(shù)據(jù)庫教學的一個重要問題。
5 結(jié)束語
NoSQL數(shù)據(jù)庫是大數(shù)據(jù)時代下的必然產(chǎn)物,隨著該新技術(shù)的廣泛應(yīng)用,以關(guān)系數(shù)據(jù)庫為主的傳統(tǒng)高職數(shù)據(jù)庫教學將面臨改革。高職數(shù)據(jù)庫教學應(yīng)以社會對人才的需求為導向,關(guān)注科技發(fā)展動態(tài),緊跟科技發(fā)展步伐,轉(zhuǎn)變教學觀念,改進教學方法,優(yōu)化教學環(huán)境,提高教學軟實力,才能為學生發(fā)揮好從學校到工作實踐的橋梁作用。
參考文獻:
[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ù)庫教學的關(guān)系[J].計算機時代,2013(5).
[6] 姚金海,吳森.大數(shù)據(jù)技術(shù)應(yīng)用探討[J].西安通信學院學報,2012(12).
[7] 胡健. 高職教育數(shù)據(jù)庫教學中幾個問題的探析[J]. 內(nèi)蒙古石油化工,2005(8).