• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    面向工作流編程的Python數(shù)據(jù)管理技術(shù)比較分析

    2022-05-30 06:51:48楊雪琪肖宇
    電腦知識與技術(shù) 2022年30期
    關(guān)鍵詞:工作流數(shù)據(jù)管理編程

    楊雪琪 肖宇

    摘要:在工作流編程中,個人經(jīng)常面臨數(shù)據(jù)管理方法的選擇。文章重點闡述了基于文件和基于數(shù)據(jù)庫的數(shù)據(jù)管理方法,并分析了三種數(shù)據(jù)管理技術(shù)的各自優(yōu)缺點。從數(shù)據(jù)量大小、數(shù)據(jù)安全性、數(shù)據(jù)更新頻率、數(shù)據(jù)共享范圍等四個維度構(gòu)建了數(shù)據(jù)管理技術(shù)的選擇方法。最后給出了數(shù)據(jù)管理技術(shù)選擇建議:對于小數(shù)量、低安全性、不更新數(shù)據(jù)、不共享數(shù)據(jù)的工作流數(shù)據(jù),建議采用人工管理的方式;對于中等數(shù)據(jù)量或有一定安全性共享性要求或需與他小范圍共享數(shù)據(jù)的工作流,建議使用基于文件的數(shù)據(jù)管理方法;否則,建議選擇基于數(shù)據(jù)庫的數(shù)據(jù)管理方法。

    關(guān)鍵詞:數(shù)據(jù)管理;數(shù)據(jù)庫;Python;編程;工作流

    中圖分類號:TP311.13-4; G642.0? ? ? 文獻標識碼:A

    文章編號:1009-3044(2022)30-0068-03

    開放科學(xué)(資源服務(wù))標識碼(OSID):

    1 引言

    隨著計算機編程語言和軟件技術(shù)的發(fā)展,越來越多的高校學(xué)生、從業(yè)者與科研人員等非專業(yè)計算機編程人員借助高級編程語言(例如:Python、R和Julia等)完成工作流,從而可自由地測試與實現(xiàn)他們的想法[1]。值得注意的是,在編程過程中,大部分非專業(yè)編程人員往往缺乏數(shù)據(jù)管理意識,因此可能造成計算資源的浪費和數(shù)據(jù)安全問題。特別是在大數(shù)據(jù)時代,日常數(shù)據(jù)掛歷工作面臨著諸多挑戰(zhàn)[2-3]。本文分析了不同應(yīng)用場景下的數(shù)據(jù)管理方法選擇,以幫助非專業(yè)編程人員更好地完成他們的工作流。

    通常情況下,程序接收外界輸入,經(jīng)過一系列處理過程之后,輸出數(shù)據(jù)至外界。該過程涉及數(shù)據(jù)管方法的選擇。在計算機技術(shù)不同發(fā)展階段,產(chǎn)生了人工管理、文件管理和數(shù)據(jù)庫管理等三種不同的數(shù)據(jù)管理方法[3]。在人工管理階段,程序與數(shù)據(jù)之間具有強耦合性,數(shù)據(jù)通過硬編碼嵌于程序中。這種管理方法適用于具有特殊用途且不需經(jīng)常變更數(shù)據(jù)的程序;在文件管理階段,程序與數(shù)據(jù)解綁,輸入與輸出數(shù)據(jù)以文件的形式保存于外界;在數(shù)據(jù)庫管理階段,程序與數(shù)據(jù)具有松耦合,程序包含與數(shù)據(jù)庫交互的語句,可根據(jù)狀態(tài)實現(xiàn)與數(shù)據(jù)庫的動態(tài)交互。

    人工管理方法僅適用于小數(shù)據(jù)量、缺乏外部存儲設(shè)備支持的應(yīng)用,數(shù)據(jù)的增、刪、改等操作均需在源程序中完成,因此靈活性和合作潛力差,并不推薦在工作流編程實踐中使用。因此,以下將重點介紹分析基于文件和數(shù)據(jù)庫的數(shù)據(jù)管理技術(shù)在Python工作流編程中的適用場景。

    2 基于文件的數(shù)據(jù)管理技術(shù)

    通過文件與外界交互數(shù)據(jù)是當(dāng)今編程實踐中最常用的方法之一。在日常工作流中,通常將文件(例如:txt、csv、json等格式)輸入到程序中,最后再以文件形式輸出數(shù)據(jù)。

    基于文件的數(shù)據(jù)管理方法具有學(xué)習(xí)成本低、兼容性強、易與他人分享等優(yōu)點。首先,該管理方法依賴于操作系統(tǒng)或者需與對應(yīng)文件格式的軟件共同使用。常見日常辦公軟件(例如:Excel和瀏覽器等)存在于大部分個人電腦中,因此可以用戶之間可以方便地進行數(shù)據(jù)文件的共享與合作。此外,這些外部軟件的使用方法被大部分用戶掌握,因此不需要額外的學(xué)習(xí)成本,與用戶現(xiàn)有使用習(xí)慣兼容性強。最后,文件的形式豐富,可以靈活地存儲各種類型的非結(jié)構(gòu)化數(shù)據(jù)。

    基于文件的數(shù)據(jù)管理方法具有運行性能低下、安全性低、數(shù)據(jù)一致性差等缺點。然而,外部文件需一次性讀入計算機內(nèi)存中,因此在一定程度上會影響到程序的運行性能。隨著數(shù)據(jù)量的增大,這種影響將逐步增加。此外,在將數(shù)據(jù)寫出文件時,文件數(shù)據(jù)的組織形式因文件創(chuàng)建者而異,從而需要額外的數(shù)據(jù)說明文件的組織形式。再者,文件難以被多個應(yīng)用在同一時間共同使用,數(shù)據(jù)操作需在程序內(nèi)部完成,文件數(shù)據(jù)也容易在傳遞過程中被篡改。最后,文件易于復(fù)制,因此可能帶來數(shù)據(jù)不一致、數(shù)據(jù)冗余和數(shù)據(jù)安全性等問題。

    結(jié)合以上所述優(yōu)缺點,基于文件的數(shù)據(jù)管理技術(shù)適用于數(shù)據(jù)安全性要求低、數(shù)據(jù)更新頻率低的小型個人項目。例如,小計算量的科學(xué)研究輸出數(shù)據(jù)的存儲應(yīng)用和個人財物管理應(yīng)用等。

    在Python編程環(huán)境下,可以利用內(nèi)置函數(shù)open()讀取或生成文件對象實例,利用read()、readlines()等方法逐字符或逐行讀取數(shù)據(jù),利用write()或writelines()等方法將數(shù)據(jù)寫入到文件。此外,第三方科學(xué)計算庫numpy和pandas提供有讀取或?qū)懭敫鞣N文件格式的方法。

    3 基于數(shù)據(jù)庫的數(shù)據(jù)管理技術(shù)

    數(shù)據(jù)庫是計算機科學(xué)的重要分支之一,是數(shù)據(jù)管理技術(shù)發(fā)展的高級階段。按數(shù)據(jù)邏輯組織形式,數(shù)據(jù)庫可以分為層次數(shù)據(jù)庫、網(wǎng)狀數(shù)據(jù)庫、關(guān)系型數(shù)據(jù)庫、文檔型數(shù)據(jù)庫和鍵值對型數(shù)據(jù)庫等[4-5]。此外,近年來也出現(xiàn)了針對特定領(lǐng)域的數(shù)據(jù)庫,例如圖形圖像數(shù)據(jù)庫和圖數(shù)據(jù)庫等。無論是哪一種數(shù)據(jù)庫,均提供有數(shù)據(jù)增、刪、改、查等工具。大部分數(shù)據(jù)庫支持多個數(shù)據(jù)應(yīng)用的并發(fā)訪問和遠程訪問,且為主流編程語言提供了數(shù)據(jù)操作接口。因此,基于數(shù)據(jù)庫的數(shù)據(jù)管理技術(shù)可以依賴于數(shù)據(jù)庫管理系統(tǒng)提供的強大數(shù)據(jù)管理功能開展更安全、更具擴展性的數(shù)據(jù)管理活動。

    開源關(guān)系型數(shù)據(jù)庫MySQL和文檔型數(shù)據(jù)庫MongoDB在業(yè)界的應(yīng)用尤為廣泛,支持文檔也非常豐富。MySQL數(shù)據(jù)庫提供了社區(qū)開源版本,可以在個人電腦上自由下載和安裝配置。該數(shù)據(jù)庫提供了一系列的安全控制技術(shù),例如用戶管理、權(quán)限控制、事務(wù)管理和數(shù)據(jù)庫備份等。MySQL的數(shù)據(jù)操作主要依賴于SQL語言,因此具有一定的技術(shù)門檻。MongoDB數(shù)據(jù)庫采用BSON形式存儲數(shù)據(jù),具有專門的數(shù)據(jù)操縱語言,且提供了用戶管理、權(quán)限控制、事務(wù)管理和數(shù)據(jù)庫備份等基本功能。相比較而言,MySQL適用于結(jié)構(gòu)化數(shù)據(jù)的存儲,進行數(shù)據(jù)庫操作之前,需要設(shè)定數(shù)據(jù)模式;MongoDB適用于非結(jié)構(gòu)化數(shù)據(jù)的存儲,可靈活地存儲數(shù)據(jù)。

    在工作流編程應(yīng)用中,利用數(shù)據(jù)庫可很好地幫助完成數(shù)據(jù)管理工作。例如,對于計算密集型的大規(guī)模仿真模擬工作,可以預(yù)先將需探索的模型參數(shù)存入至MongoDB數(shù)據(jù)庫中,將參數(shù)對應(yīng)的任務(wù)狀態(tài)分別設(shè)為未評估、正在評估和已完成評估等,然后由多臺計算機遠程訪問該數(shù)據(jù)庫,讀取未評估狀態(tài)的參數(shù)組合,在粗粒度上實現(xiàn)多臺不限平臺計算機組合的并行計算,從而加速完成模擬任務(wù)。在程序運行過程中,也可監(jiān)控和查看任務(wù)的完成度和狀態(tài)。

    根據(jù)以上優(yōu)缺點,基于數(shù)據(jù)庫的數(shù)據(jù)管理技術(shù)適用于具有一定數(shù)據(jù)庫基礎(chǔ)或者學(xué)習(xí)意愿強的用戶。雖然具有一定的門檻,使用數(shù)據(jù)庫可以使用戶不用考慮文件管理方法中可能存在的各種問題。此外,該數(shù)據(jù)管理技術(shù)適用于需要多臺電腦讀取、更新頻率高、存在多用戶合作生成數(shù)據(jù)的應(yīng)用場景。例如,大型仿真實驗運行過程中的數(shù)據(jù)管理。

    在Python編程環(huán)境下,存在與各主流數(shù)據(jù)庫連接的第三方模塊,例如 PyMySQL和PyMong等。這些模塊都遵循Python提供的統(tǒng)一接口標準,因此學(xué)習(xí)成本較低,操作簡便。具體而言,對于數(shù)據(jù)模式較為單一、可不考慮數(shù)據(jù)組織形式的工作流,可采用無須預(yù)先設(shè)定數(shù)據(jù)模式的非關(guān)系型數(shù)據(jù)庫作為數(shù)據(jù)管理工具;對于數(shù)據(jù)模式較為復(fù)雜的工作流,建議先設(shè)計數(shù)據(jù)模式,然后通過非關(guān)系型或關(guān)系型數(shù)據(jù)庫作為數(shù)據(jù)管理工具。

    4 三種數(shù)據(jù)管理技術(shù)的選擇

    在日常工作流中,需要根據(jù)任務(wù)的相關(guān)性選擇相應(yīng)的數(shù)據(jù)管理技術(shù)。數(shù)據(jù)管理技術(shù)選擇的影響要素主要包括數(shù)據(jù)量大小、數(shù)據(jù)安全性、數(shù)據(jù)更新頻率、數(shù)據(jù)共享范圍等四個維度,具體選擇建議見表1。注意,有些選項存在著重疊,用戶可以根據(jù)當(dāng)前的環(huán)境酌情考慮數(shù)據(jù)管理技術(shù)。

    對于小數(shù)量、低安全性、不更新數(shù)據(jù)、不共享數(shù)據(jù)的工作流數(shù)據(jù),建議采用人工管理的方式,將數(shù)據(jù)融入程序中。這樣操作的理由在于,后兩個數(shù)據(jù)管理技術(shù)需要依賴于外部的應(yīng)用或者程序,一旦外界環(huán)境遭遇了不測情況,則數(shù)據(jù)將遭受損失,從而影響到工作流的正常運行。

    對于中數(shù)據(jù)量或中安全性或低頻更新數(shù)據(jù)或需小范圍共享的工作量數(shù)據(jù),在數(shù)據(jù)庫不可獲取的情況下,建議采用基于文件的管理技術(shù)。與人工管理方法相比,該方法將程序與數(shù)據(jù)分離,可以實現(xiàn)數(shù)據(jù)的外部操作,從而在一定程度上增加了數(shù)據(jù)的自由度和安全性。數(shù)據(jù)文件可獨立地在同事之間共享,增加了便利性。

    對于中大數(shù)據(jù)量或中高安全性或高頻更新或大范圍共享的工作流數(shù)據(jù),建議采用基于數(shù)據(jù)庫的管理技術(shù)。相對其他兩種技術(shù),該技術(shù)可以利用數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)操作、數(shù)據(jù)安全性和事務(wù)管理等先進的數(shù)據(jù)管理方法,從而可實現(xiàn)以數(shù)據(jù)為中心的建模與管理,甚至可以幫助規(guī)范工作流程。

    5 結(jié)語

    本文簡要分析了工作流中的人工管理、文件管理和數(shù)據(jù)庫管理等三種主流數(shù)據(jù)管理技術(shù)的優(yōu)缺點,并針對工作流編程的特點提出了以下選擇建議:1)對于安全性和共享性要求不高、較少需要與他人合作、需與人共享結(jié)果的工作流,建議使用文件管理方法;2)對于安全性和共享性要求高、需多臺電腦寫作文完成的工作流,建議使用數(shù)據(jù)庫管理方法。最后,建議個人用戶提升數(shù)據(jù)安全意識,投入時間學(xué)習(xí)一定的數(shù)據(jù)庫管理技術(shù),合理使用數(shù)據(jù)庫管理工作流數(shù)據(jù),避免工作中不必要的數(shù)據(jù)損失。

    參考文獻:

    [1] 肖宇.Python在數(shù)據(jù)庫教學(xué)中的應(yīng)用[J].電腦知識與技術(shù),2020,16(6):152-153.

    [2] 荊曉鵬.大數(shù)據(jù)時代高校學(xué)生管理工作的挑戰(zhàn)及應(yīng)對措施試析[J].輕工科技,2021,37(11):105-106.

    [3] 李文瓊.大數(shù)據(jù)時代背景下高校檔案信息化建設(shè)探究[J].蘭臺內(nèi)外,2021(28):1-3.

    [4] 王珊,薩師煊.數(shù)據(jù)庫系統(tǒng)概論[M].5版.北京:高等教育出版社,2014.

    [5] 閔昭浩,楊卓凡.NoSQL數(shù)據(jù)庫與關(guān)系型數(shù)據(jù)庫對比[J].電子技術(shù)與軟件工程,2021(14):199-201.

    【通聯(lián)編輯:李雅琪】

    猜你喜歡
    工作流數(shù)據(jù)管理編程
    我家有只編程貓
    我家有只編程貓
    我家有只編程貓
    我家有只編程貓
    企業(yè)級BOM數(shù)據(jù)管理概要
    定制化汽車制造的數(shù)據(jù)管理分析
    海洋環(huán)境數(shù)據(jù)管理優(yōu)化與實踐
    CTCS-2級報文數(shù)據(jù)管理需求分析和實現(xiàn)
    工作流在電力生產(chǎn)管理信息系統(tǒng)中的設(shè)計和應(yīng)用
    個性化計算機輔助教學(xué)系統(tǒng)的設(shè)計與實現(xiàn)
    商情(2016年39期)2016-11-21 09:57:19
    额济纳旗| 赤水市| 平远县| 花垣县| 区。| 攀枝花市| 龙江县| 卓资县| 垫江县| 武川县| 北海市| 双流县| 泰顺县| 大埔县| 巴青县| 航空| 土默特右旗| 苍溪县| 鸡泽县| 青岛市| 巴南区| 绥阳县| 多伦县| 洪湖市| 辉南县| 大洼县| 阿鲁科尔沁旗| 丽水市| 宁波市| 曲阜市| 禹城市| 吐鲁番市| 湾仔区| 丰原市| 瑞丽市| 安陆市| 临城县| 潼关县| 田阳县| 山阴县| 类乌齐县|