亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        NoSQL數(shù)據(jù)庫實踐教學(xué):結(jié)合Benchmarking的方法

        2023-01-05 03:10:24李幽錚
        軟件導(dǎo)刊 2022年11期
        關(guān)鍵詞:任課教師數(shù)據(jù)庫課程

        葉 楓,孫 駿,黃 倩,李幽錚,李 凌

        (1.河海大學(xué)計算機與信息學(xué)院,江蘇南京 211100;2.金陵科技學(xué)院建筑工程學(xué)院,江蘇南京 211169)

        1 問題與研究現(xiàn)狀分析

        近40 年來,關(guān)系數(shù)據(jù)庫系統(tǒng)作為主流的數(shù)據(jù)庫模型,得到了學(xué)術(shù)界和工業(yè)界廣泛的研究與應(yīng)用。隨著大數(shù)據(jù)和人工智能時代的到來,數(shù)據(jù)驅(qū)動的決策模式愈加普遍,但關(guān)系數(shù)據(jù)庫難以應(yīng)對大數(shù)據(jù)的關(guān)鍵挑戰(zhàn):①表示不匹配。需要存儲的數(shù)據(jù)類型往往是非結(jié)構(gòu)化的,不適合關(guān)系模型[1];②事務(wù)模型導(dǎo)致系統(tǒng)性能下降。關(guān)系數(shù)據(jù)庫提供了一種非常嚴(yán)格的事務(wù)控制模型(原子性、強一致性、隔離性和持久性,即ACID),而嚴(yán)格的事務(wù)模型往往會導(dǎo)致許多大數(shù)據(jù)系統(tǒng)的性能下降[2];③可伸縮性不強。擴展關(guān)系數(shù)據(jù)庫較為困難,并且需要不斷地調(diào)優(yōu)以保障運行效率[3]。因此,工業(yè)界、學(xué)術(shù)界研發(fā)了諸多NoSQL 數(shù)據(jù)庫[4]以適用于多樣化的大數(shù)據(jù)應(yīng)用場景。通常,NoSQL 數(shù)據(jù)庫沒有嚴(yán)格的模型定義,且數(shù)據(jù)庫類型多樣(圖、寬列、鍵值、文檔、時間序列、多模數(shù)據(jù)庫等),差異化顯著。目前,NoSQL 數(shù)據(jù)庫的演化發(fā)展十分迅速,已經(jīng)從2011 年的50余個發(fā)展到現(xiàn)在的200余個。

        NoSQL 對工業(yè)界和學(xué)術(shù)界的影響也愈加深入。根據(jù)Forrester[5]最近的一項調(diào)查結(jié)果顯示,近50%的受訪企業(yè)或組織已經(jīng)采用了NoSQL 解決方案。行業(yè)招聘的最新要求也表明,對接觸、熟悉NoSQL 的畢業(yè)生需求急劇增加。但是,當(dāng)前相關(guān)課程的教學(xué)現(xiàn)狀是:依然重視關(guān)系數(shù)據(jù)庫[6],對NoSQL 的關(guān)注不夠;學(xué)生缺少NoSQL 數(shù)據(jù)庫的實踐能力,與業(yè)界要求大數(shù)據(jù)能力的鴻溝越拉越大。計算機科學(xué)作為一門學(xué)科,強調(diào)以問題為基礎(chǔ)的學(xué)習(xí),真實的案例和使用經(jīng)驗對提高計算機應(yīng)用能力至關(guān)重要[7]。一些研究已經(jīng)證實,通過實踐來學(xué)習(xí)能顯著地提升學(xué)習(xí)效果[8-9]。如何開展NoSQL 教學(xué),一些代表性的研究[10-11]已經(jīng)提出了有建設(shè)性的方案。但是,由于NoSQL 數(shù)量眾多、異構(gòu)性強,傳統(tǒng)教學(xué)方式很難讓學(xué)生更深入、全面地理解和應(yīng)用NoSQL 數(shù)據(jù)庫,特別是在未來工作中如何對眾多NoSQL 數(shù)據(jù)庫進行選型是一個難題?;诖?,為了讓學(xué)生全面了解NoSQL 概念以及不同NoSQL 數(shù)據(jù)庫實例的差異性,提升學(xué)生的動手能力,提出一種新的NoSQL 數(shù)據(jù)庫實踐模式,即結(jié)合評測基準(zhǔn)(Benchmarking)[12-14]的方法。

        眾所周知,評測基準(zhǔn)是系統(tǒng)選型、開發(fā)與優(yōu)化的重要驅(qū)動力量。如今,NoSQL 數(shù)據(jù)庫的評測基準(zhǔn)持續(xù)吸引著數(shù)據(jù)即服務(wù)(Data as a Service)提供商以及眾多有意實現(xiàn)“上云用數(shù)賦智”的企業(yè)與相關(guān)科研人員等的關(guān)注。從數(shù)據(jù)即服務(wù)提供商角度,標(biāo)準(zhǔn)的評測基準(zhǔn)有利于向服務(wù)消費者提供更豐富的應(yīng)用場景支持,有效降低NoSQL 數(shù)據(jù)庫維護成本;從眾多企業(yè)的角度,可根據(jù)自身業(yè)務(wù)需要,快速選型大數(shù)據(jù)存儲解決方案,并減少數(shù)據(jù)遷移成本;從研究人員的角度,可利用評測基準(zhǔn)評估新技術(shù)、優(yōu)化完善NoSQL 數(shù)據(jù)庫,推動其快速演化發(fā)展。顯然,若能將評測基準(zhǔn)方法有效地與NoSQL 數(shù)據(jù)庫教學(xué)實踐結(jié)合,是非常有意義的。

        2 實踐背景

        該課程適用于軟件工程、計算機科學(xué)的本科高年級學(xué)生和研究生。在現(xiàn)有教學(xué)體系下,本科高年級學(xué)生和研究生通常已經(jīng)完整地學(xué)習(xí)了數(shù)據(jù)庫系統(tǒng)基礎(chǔ)課程,也具備了以Java 語言為代表的編程能力。在此基礎(chǔ)上,開展NoSQL數(shù)據(jù)庫實踐教學(xué),可以在充分利用前期所學(xué)知識的基礎(chǔ)上,更側(cè)重于NoSQL 數(shù)據(jù)庫的實踐內(nèi)容。

        作為一所重視本科教育的高校,教學(xué)環(huán)節(jié)非常強調(diào)課堂上的主動學(xué)習(xí)和課堂以外面向問題的學(xué)習(xí)。為了貫徹這一教學(xué)原則,在NoSQL 數(shù)據(jù)庫實踐教學(xué)中,有目的、有意識地安排了大量實驗和課堂活動,并要求學(xué)生仔細考慮如何將概念、知識應(yīng)用到畢業(yè)后可能遇到的工作場景中。同時,為了鍛煉團隊的合作研發(fā)能力,特別要鍛煉學(xué)生與實際工作接軌的能力,課程實踐伊始就將3~5 人組為一個團隊,這也為后面基于Benchmarking 學(xué)習(xí)模式的實施提供了一個組織基礎(chǔ)。

        3 NoSQL課程設(shè)置

        3.1 設(shè)置思路

        通過瀏覽nosql-database.org 網(wǎng)站上NoSQL 數(shù)據(jù)庫現(xiàn)狀,不難發(fā)現(xiàn),不同類型的NoSQL 數(shù)據(jù)庫均有其獨特性質(zhì),每一類NoSQL 數(shù)據(jù)庫又包括眾多不同實例。與標(biāo)準(zhǔn)的關(guān)系型數(shù)據(jù)庫不同,每個NoSQL 數(shù)據(jù)庫都是針對特定問題而開發(fā)的,并具有各自的基本概念和交互語言。一個關(guān)鍵問題是:如何開始了解NoSQL 課程涉及的概念和數(shù)據(jù)庫實例?可以想象,采用教SQL 和關(guān)系數(shù)據(jù)庫的技術(shù)與方法講授NoSQL 數(shù)據(jù)庫是不切實際的。針對此問題,可以認識到:在實踐教學(xué)中,選擇每一類中最知名和有代表性的NoSQL 數(shù)據(jù)庫實例作為講解基礎(chǔ),充分利用為期12周的教學(xué)時間來介紹4~5 種NoSQL 系統(tǒng),并通過分組讓學(xué)生們開展某一類NoSQL 的Benchmarking 實驗是一種好的教學(xué)途徑。具體而言,從以下幾類NoSQL 數(shù)據(jù)庫中選擇最有代表性和流行的工具:①面向文檔的數(shù)據(jù)庫MongoDB;②圖數(shù)據(jù)庫Neo4J;③鍵值數(shù)據(jù)庫Redis;④列族數(shù)據(jù)庫Cassandra;⑤時間序列數(shù)據(jù)庫Riak TS、Druid 和IoTDB;⑥多模數(shù)據(jù)庫ArangoDB、OrientDB。

        每個系統(tǒng)都涵蓋數(shù)據(jù)建模、查詢、擴展和建立一個Benchmarking 系統(tǒng)。課程目標(biāo)如下:①解釋代表性的NoSQL 數(shù)據(jù)庫的基本存儲結(jié)構(gòu)和訪問技術(shù),包括鍵值數(shù)據(jù)庫、文檔數(shù)據(jù)庫、圖數(shù)據(jù)庫、列族數(shù)據(jù)庫、時間序列數(shù)據(jù)庫以及多模數(shù)據(jù)庫;②熟悉代表性的NoSQL 數(shù)據(jù)庫的典型操作,如每類NoSQL 數(shù)據(jù)庫的查詢操作、數(shù)據(jù)建模等;③識別新數(shù)據(jù)庫與先前已知數(shù)據(jù)庫之間的語義相似性和差異性(例如圖數(shù)據(jù)庫的索引機制、文檔數(shù)據(jù)庫的分片機制等),并區(qū)分常用的一致性模型;④根據(jù)要存儲的數(shù)據(jù)和期望的可用性、可伸縮性及一致性要求,討論如何部署NoSQL/SQL 數(shù)據(jù)庫;⑤在UCI 機器學(xué)習(xí)庫、Kaggle 等網(wǎng)站選用不同數(shù)據(jù)集,在Benchmarking 實驗基礎(chǔ)上,研究如何對NoSQL數(shù)據(jù)庫進行選型。在每學(xué)期實踐教學(xué)中,根據(jù)學(xué)生和行業(yè)領(lǐng)域工程師的反饋,對上述主題進行擴展細化。

        3.2 教材與實踐環(huán)境

        如何選用教材也是NoSQL 課程實踐能取得成功的關(guān)鍵。由于NoSQL 數(shù)據(jù)庫的發(fā)展和演化速度非常快,相應(yīng)地,目前市面上也涌現(xiàn)了眾多內(nèi)容豐富,且具有實用性的相關(guān)教材,例如:陸嘉恒[15]著的《大數(shù)據(jù)挑戰(zhàn)與NoSQL 數(shù)據(jù)庫技術(shù)》、袁燕妮[16]著的《NoSQL 數(shù)據(jù)庫技術(shù)》等。對于這些教材,本研究邀請多名領(lǐng)域?qū)<?、業(yè)內(nèi)專業(yè)工程師等采用打分的方式,為該課程選擇合適的教材。另外,該實踐課程也將NoSQL 數(shù)據(jù)庫發(fā)布的官方文檔作為補充教材,因為這些文檔很好地概述了數(shù)據(jù)模型、查詢語言以及常見用例和遇到的問題等。

        為了開展NoSQL 數(shù)據(jù)庫的Benchmarking 實驗,在實踐環(huán)節(jié)中,為每組學(xué)生配備了3 臺虛擬機構(gòu)成的集群,并安裝了最新版本的Ubuntu。每臺機器有16 GB 內(nèi)存、500 GB硬盤和4核i5的CPU。這些機器既可以由學(xué)院現(xiàn)有基礎(chǔ)設(shè)施提供,也可以租用阿里云環(huán)境。學(xué)生們使用這些機器集群來安裝NoSQL 數(shù)據(jù)庫,并跟隨課堂上介紹的概念熟悉其操作。

        4 雙層學(xué)習(xí)模式

        隨著NoSQL 數(shù)據(jù)庫的快速發(fā)展,持續(xù)學(xué)習(xí)變得日益重要,有必要要求選課的學(xué)生探索其現(xiàn)有知識庫和所遇到的新范例之間的聯(lián)系。在整個實踐課程中,重點是讓學(xué)生們結(jié)合實際進行學(xué)習(xí)與思考,最終掌握NoSQL 數(shù)據(jù)庫的關(guān)鍵細節(jié)。此外,NoSQL 數(shù)據(jù)庫選型是一個關(guān)鍵問題,目前沒有現(xiàn)成方式可以用來為各種應(yīng)用場景選擇合適的NoSQL系統(tǒng)。因此,學(xué)生們必須通過一些不同的數(shù)據(jù)集,在學(xué)習(xí)基本概念和知識的基礎(chǔ)上,對這些NoSQL 數(shù)據(jù)庫進行Benchmarking 實驗。考慮到這些目標(biāo),構(gòu)建一個雙層學(xué)習(xí)模式,具體包含課堂概念與實踐、基于NoSQL 數(shù)據(jù)庫的Benchmarking 實驗兩個層面,其實質(zhì)也是從定性到定量研究NoSQL 數(shù)據(jù)庫的過程。該模式將為學(xué)生提供大量機會來實踐如何更好地應(yīng)用NoSQL 數(shù)據(jù)庫的重要技能,做到有的放矢。

        4.1 課堂概念與實踐

        自主學(xué)習(xí)已被證明在闡述計算機科學(xué)概念方面是非常有效的,特別是數(shù)據(jù)庫[17-18]。每節(jié)課的設(shè)計都考慮到這一點,并針對課堂上涉及的各種概念、技術(shù)和數(shù)據(jù)庫重點設(shè)置了如下課堂內(nèi)容:

        (1)基本概念講解。結(jié)合上文所述NoSQL 數(shù)據(jù)庫文檔,對每一種NoSQL 數(shù)據(jù)庫是什么、為什么使用及其關(guān)鍵特征進行講解,讓學(xué)生們熟悉不同NoSQL 數(shù)據(jù)庫的關(guān)鍵概念和基礎(chǔ)知識。

        (2)數(shù)據(jù)建模練習(xí)。NoSQL 數(shù)據(jù)建模傾向于強調(diào)數(shù)據(jù)聚合、非規(guī)范化數(shù)據(jù)、數(shù)據(jù)訪問模式以及數(shù)據(jù)結(jié)構(gòu)支持等。根據(jù)以往經(jīng)驗,數(shù)據(jù)建模可看作一個跨越這些約束的優(yōu)化問題。因此,學(xué)生需要較多地練習(xí)才能掌握。首先在課堂上用交互式的方式指導(dǎo)學(xué)生建模案例,課程結(jié)束后,要求每個團隊模仿完成一個樣本數(shù)據(jù)建模活動。團隊必須提出一個數(shù)據(jù)模型,并根據(jù)前面提到的標(biāo)準(zhǔn)為其設(shè)計提供理論依據(jù)。活動結(jié)束時,各團隊向班級匯報工作,并由任課教師對各團隊的設(shè)計進行分析和完善。

        (3)現(xiàn)場編程能力提升?,F(xiàn)場編程涉及對NoSQL 系統(tǒng)的增、刪、改、查等主要操作。之后,學(xué)生有能力對類似的數(shù)據(jù)集、問題域開展編程工作。通過該方式,讓學(xué)生在虛擬機集群上將NoSQL 操作與實際編程結(jié)合起來,有助于提升其實踐信心與深入學(xué)習(xí)的興趣。

        4.2 基于NoSQL的Benchmarking實驗

        在現(xiàn)代數(shù)據(jù)庫世界中,特征驅(qū)動了數(shù)據(jù)庫選擇,而一個大數(shù)據(jù)應(yīng)用系統(tǒng)中具有多個數(shù)據(jù)庫工具是較為常見的。NoSQL 開發(fā)、管理人員需要識別并選擇正確的數(shù)據(jù)庫,快速學(xué)習(xí)并利用不同的NoSQL 數(shù)據(jù)庫來滿足實際要求。因此,在NoSQL 數(shù)據(jù)庫實踐教學(xué)中,學(xué)生同樣被要求識別一個特定的NoSQL 數(shù)據(jù)庫,并以團隊形式進行研究。具體方法就是針對一類NoSQL 數(shù)據(jù)庫,設(shè)計并實現(xiàn)Benchmarking實驗,最終完成一份Benchmarking 實驗報告。

        在該階段,每個團隊成員首先需要結(jié)合教材、文檔等,安裝部署所選的NoSQL 數(shù)據(jù)庫。接下來,團隊成員分工設(shè)計并編程,實現(xiàn)多類負載(workloads)生成、數(shù)據(jù)集準(zhǔn)備和評測指標(biāo)度量(例如CPU 使用率、吞吐量等)。例如,在時間序列數(shù)據(jù)庫的Benchmarking 實驗中,任課教師結(jié)合專業(yè)特色,提供了水文傳感器數(shù)據(jù)集[19]。學(xué)生們可以用Java 編程實現(xiàn)如下負載:①不同數(shù)據(jù)規(guī)模的傳感器數(shù)據(jù)加載或數(shù)據(jù)插入;②按時間間隔查詢某采樣點數(shù)據(jù);③按照一定的時間間隔,查詢多個采樣點數(shù)據(jù);④隨著傳感器流數(shù)據(jù)不斷注入NoSQL 數(shù)據(jù)庫,增加查詢次數(shù);⑤在保持查詢次數(shù)的同時,增加傳感器采樣的數(shù)據(jù)量;⑥按多個時間間隔查詢采樣點數(shù)據(jù);⑦使用GroupBy 聚合查詢;⑧索引查詢。然后,根據(jù)不同負載下的執(zhí)行結(jié)果,各個小組可以整理分析報告,設(shè)計與實現(xiàn)NoSQL 數(shù)據(jù)庫Benchmarking 實驗過程,既可以讓選課學(xué)生從定量層面更深入地了解同類NoSQL數(shù)據(jù)庫不同實例之間的差別,又可以了解不同類型NoSQL數(shù)據(jù)庫的差別。最后,各組學(xué)生完成一份NoSQL 數(shù)據(jù)庫評測報告,并在班級層面上進行分享交流,匯報所測評NoSQL 數(shù)據(jù)庫的結(jié)論。該方式可以讓學(xué)生快速而全面地了解不斷發(fā)展的NoSQL 數(shù)據(jù)庫,為后續(xù)使用NoSQL 數(shù)據(jù)庫奠定了良好基礎(chǔ)。

        5 評價與討論

        對于該課程的評價,采用階段評價和結(jié)課評價相結(jié)合的方式。在教學(xué)階段,通過定期開展匿名調(diào)查的方式來獲取學(xué)生對課程教學(xué)效果的反饋。團隊任課教師會定期回應(yīng)學(xué)生關(guān)注的問題,根據(jù)學(xué)生的反饋提供相關(guān)材料并完善實驗內(nèi)容,以提高學(xué)生的學(xué)習(xí)水平。除定期反饋外,課程結(jié)束時還將對學(xué)生進行總結(jié)性評估??偨Y(jié)性評估通常包括下列方面:①從總體上評價此課程;②評價個人在課堂上的學(xué)習(xí)質(zhì)量;③描述本課程的一個或多個優(yōu)點;④描述一個或多個改進課程的方法;⑤任課教師是否為課程作好了充分準(zhǔn)備;⑥任課教師是否使用了幫助我學(xué)習(xí)的教學(xué)技巧;⑦解釋你給任課教師等級或評價的依據(jù);⑧解釋通過學(xué)習(xí),個人達到了怎樣的水平;⑨還有哪些內(nèi)容是期望學(xué)習(xí)到的;⑩該門課程對于未來的學(xué)習(xí)和就業(yè)有哪些具體幫助等。

        從近5 年授課的調(diào)研結(jié)果來看,任課教師從這些問題上得到的反饋是積極、正面的。據(jù)統(tǒng)計,92%的學(xué)生認為自己的實踐能力得到了有效提高,并且對大數(shù)據(jù)相關(guān)技術(shù)有了更多了解,這也為該課程的發(fā)展方向提供了另一個好的數(shù)據(jù)分析源。也有不少教師和學(xué)生建議,隨著實驗內(nèi)容的豐富,可以將實驗項目開源或者將其應(yīng)用于一些較大的項目中。由于篇幅限制,對于學(xué)習(xí)評價的進一步研究在此不再深入討論。列舉部分學(xué)生的課程體會:“內(nèi)容很有趣,值得學(xué)習(xí);這些實驗對我們加強對NoSQL 數(shù)據(jù)庫的認識很有幫助;學(xué)習(xí)數(shù)據(jù)庫如何確保多語言持久性和水平可擴展將對我的工作非常有幫助;當(dāng)我終于弄清楚Druid、Riak TS和IoTDB 數(shù)據(jù)庫之間的差異時,我感到非常有成就感。”另外,還有多篇關(guān)于NoSQL 數(shù)據(jù)庫基準(zhǔn)測評的論文在計算機學(xué)會推薦的會議和期刊上發(fā)表,如Journal of Database Management、ICA3PP、COMPSAC 和HPCC 等。

        6 結(jié)語

        NoSQL 數(shù)據(jù)庫已越來越多地應(yīng)用于驅(qū)動行業(yè)中,并被各種組織迅速采用。目前,計算機科學(xué)課程主要集中在關(guān)系系統(tǒng)上,而對NoSQL 范例關(guān)注不夠。接觸和體驗各種NoSQL 范例和數(shù)據(jù)模型是學(xué)生技能集的關(guān)鍵部分,將有助于其成功過渡到行業(yè)。并且,學(xué)生通過基準(zhǔn)測評多種NoSQL 范例,能更加深入、全面地了解和使用NoSQL 數(shù)據(jù)庫。學(xué)生評估結(jié)果驗證了該實踐教學(xué)模式的效果。未來將在此基礎(chǔ)上積累一批基于NoSQL 數(shù)據(jù)庫的項目案例,嘗試以開源形式供更多NoSQL 愛好者學(xué)習(xí)和使用。

        猜你喜歡
        任課教師數(shù)據(jù)庫課程
        數(shù)字圖像處理課程混合式教學(xué)改革與探索
        軟件設(shè)計與開發(fā)實踐課程探索與實踐
        計算機教育(2020年5期)2020-07-24 08:53:38
        為什么要學(xué)習(xí)HAA課程?
        班主任與任課教師合作發(fā)展的實踐與思考
        江蘇教育(2018年55期)2018-01-28 21:38:20
        論高職班主任與任課教師的協(xié)作與溝通
        長江叢刊(2017年7期)2017-11-25 05:42:32
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        數(shù)據(jù)庫
        財經(jīng)(2016年15期)2016-06-03 07:38:02
        要善于樹立任課教師的威信
        數(shù)據(jù)庫
        財經(jīng)(2016年3期)2016-03-07 07:44:46
        數(shù)據(jù)庫
        財經(jīng)(2016年6期)2016-02-24 07:41:51
        久久久久亚洲av无码专区网站| 各类熟女熟妇激情自拍| 亚洲综合网国产精品一区| 久久综合精品国产丝袜长腿| 国产精品无码无卡无需播放器| 少妇人妻200篇白洁| 精品少妇爆乳无码aⅴ区| 精品自拍偷拍一区二区三区| 青青草狠吊色在线视频| 伊人久久大香线蕉综合网站| 亚洲一区二区综合色精品| 日本一区二区高清视频在线播放| 99久久免费看精品国产一| 18禁在线永久免费观看| 免费观看激色视频网站| 五月丁香六月综合激情在线观看| 中国免费一级毛片| 日日麻批免费高清视频| 亚洲熟妇久久精品| 日韩亚洲中字无码一区二区三区| 淫欲一区二区中文字幕| 免费的小黄片在线观看视频| 国语对白嫖老妇胖老太| 国产91在线免费| 日韩av一区二区无卡| 99久久无色码中文字幕人妻蜜柚 | 成人h动漫精品一区二区| 亚洲AV无码一区二区三区精神| 亚洲中文字幕精品久久a| 色欲色香天天天综合vvv| 国产乱子伦在线观看| 国产视频不卡在线| 日本系列有码字幕中文字幕| 亚洲精品国产suv一区88| 久久免费大片| 日韩精品一区二区三区av| 无码人妻精品一区二区三区蜜桃| 久久久久亚洲av无码a片软件| 国产精品麻豆A在线播放| 亚洲第一幕一区二区三区在线观看| 人人摸人人操|