本文摘要:摘 要: 大數據時代海量數據的長久保存與高效利用成為人們關注的焦點。非關系型數據庫( NoSQL) 作為關系型數據庫的一種補充,越來越受到青睞,并影響著未來檔案大數據管理技術的發展方向。首先通過 Laney 的大數據 3V 視角論述 NoSQL 技術的原理與特征; 然后在大數據視
摘 要: 大數據時代海量數據的長久保存與高效利用成為人們關注的焦點。非關系型數據庫( NoSQL) 作為關系型數據庫的一種補充,越來越受到青睞,并影響著未來檔案大數據管理技術的發展方向。首先通過 Laney 的大數據 3V 視角論述 NoSQL 技術的原理與特征; 然后在大數據視域下分析NoSQL 技術在檔案知識服務、檔案記憶、智慧檔案館中的應用前景; 最后展望未來檔案信息化建設中數據庫管理技術的發展格局,引導我國檔案數字化、信息化工作發展方向。研究結論表明: NoSQL 技術符合大數據管理的 3V 要求,能夠較好地解決大數據應用中的高并發、快速響應、海量數據長久保存問題,能夠滿足未來檔案大數據應用需要; 未來 NoSQL 和 SQL 將長期并存于檔案數據管理。
關鍵詞: 非關系型數據庫; 大數據管理; 知識服務; 檔案記憶; 智慧檔案館
大數據時代,檔案信息化建設進入了一個新階段,基于云服務,智慧型的數字檔案館概念進入人們視線中,為檔案工作指明了前進方向。新形勢下,檔案數據收集的領域、范圍不斷擴大,數據的種類不斷增加,互聯網上海量社交媒體的電子數據實時歸檔,正逐漸使得檔案大數據管理與其他大數據行業一樣面臨著海量信息存儲、系統分布式部署、用戶高并發訪問、數據的長久保存等難題。傳統關系型數據庫管理系統( RDBMS) 面對這類問題時遇到了性能瓶頸,在這種背景下一類新的數據管理技術 NoSQL 技術應運而生。它突破了傳統關系 型 數 據 庫 的 模 式 限 制,遵 從 CAP 理 論[1] 和BASE 原則[2],數據類型包容性和系統的橫向擴展能力變得更強,有效地解決了大數據應用中出現的各類難題。隨著 NoSQL 技術的成功應用,人們開始關注這項技術的最新研究動態,數據庫管理技術研究視角也由過去的層次型、網狀型、關系型逐漸演變為關系型與非關系型兩種。
通過文獻調查發現,吳鵬等利用 MongoDB( NoSQL 的一種) 技術設計企業產品數據信息管理系統,較好地滿足了文檔、圖片、視頻等多類型數據管理要求[4]。趙永強提出相較于關系型數據庫,TPI 特藏數據庫更適合采用 NoSQL 數據庫產品,支持非結構化數據管理和數據的分散保管及數據擴展[5]。施曉峰分析了檔案大數據特征: 格式多樣、結構復雜、規模龐大,認為 NoSQL 技術可以較好地滿足非結構化數據的管理,并搭建了一個基于 NoSQL 系統的檔案數據管理原型系統[6]。卞咸杰采用 Hadoop( NoSQL的一種) 技術設計檔案信息資源共享平臺,并分析檔案數據處理流程[7]。
綜上發現,目前圖情檔領域關于 NoSQL 技術研究較少,研究多以 Hadoop、MapReduce、Virtuoso 某一種 NoSQL 技術作為視角,并未整體分析 NoSQL 技術符合大數據應用的內在機理,也未發現闡述 NoSQL 技術與檔案大數據應用的內在機制與理論論述等相關文獻。由于 NoSQL 技術的出現,讓大數據應用突破了硬件性能的限制,使檔案部門駕馭大數據成為一種可能。本文擬梳理 NoSQL 的發展脈絡與技術特征,解析其在檔案大數據應用中的契合機理與發展地位,為我國檔案信息化建設提供一點思考。
1 NoSQL 技術的產生與發展
NoSQL 泛指非關系型的數據庫( NRDBMS: NoRelational-DBMS) ,在大數據環境下,用于解決海量數據分布部署,以提高系統平臺的可擴展性、可用性、實時性的“一類”數據管理技術。2000 年 Google 針對大數據環境下高并發、高可用、高性能的海量數據管理需求,重新設計了 Google搜索引擎后臺數據庫管理系統,放棄了傳統關系型數據庫,自行研發非關系型數據庫,并于 2003-2006年發表了 4 篇關于其數據管理技術的核心論文: GFS分布式文件系統、MapReduce 高性能計算框架、Bigtable 一種分布式結構化數據存儲方案、Chubby 一種面向松耦合分布式系統的鎖服務[8-11]。
Google 相關論文的公開發表引起了互聯網公司和開源愛好者的廣泛關注和濃厚興趣。2006 年 2 月 Apache Hadoop開源項目正式啟動以支持 MapReduce 和 HDFS[12]的獨立發展,同年 5 月雅虎建立了一個 300 個節點的Hadoop 研究集群,2011 年 12 月 Hadoop1.0.0 版本發布,標志著 Hadoop 已經初具規模。2007 年亞馬遜公司對外展示了 Dynamo 分布式數據存儲系統。2008年 Facebook 將其研發的數據庫管理技術 Cassandra開源。2009 年英國軟件開發者 Johan 先生在一次非關系型數據庫討論會上,以“NoSQL”作為此次會議的主題,從此人們習慣以 NoSQL 命名這類非關系型數據庫技術[13]。
從國內實踐情況看,阿里巴巴是具有代表性的互聯網電子商務公司,在應對海量淘寶交易數據管理時,獨立研發了非關系型數據庫 OceanBase,整個系統采用服務器集群架構,能夠滿足達 10 億筆日支付處理需求,系統對 100TB 的數據進行排序只需 377秒,打破了 Apache Spark 的紀錄 23.4 分鐘[14],處理速度之快可見一斑。不僅在電商領域,我國在機械制造領域中的大規模設備監測數據[15]和天文領域中的大規模天文觀測數據也已經成功運用了 NoSQL技術進行管理,這些數據庫系統具有處理 TB 級和PB 級海量電子數據的能力[16]。截至 2022 年 1 月,官網上可查的在冊 NoSQL 產品已經超過 225 種,可見大數據背景下 NoSQL 技術的需求與應用前景廣闊[17]。
2 從大數據的 3V 視角分析
NoSQL 內在技術特征2001 年 META 集團分析師 Laney 在一份報告中首次提出大數據的 3V 概念[18],即大數據環境下,數據呈現類型多樣化( Variety) 、海量數據( Volume) 、處理速度快( Velocity) 特征。之后人們對“大數據”認識不斷深入,在 Laney 的 3V 基礎上提出了 4V、5V、6V 等概念[19]: 數據價值( Value) 、可視性( Visualization) 、合法性( Validity) 。本文從 Laney 最初的 3V視角解析 NoSQL 的技術原理與特征。
2.1 數據類型多樣化( Variety) 與 NoSQL 的弱模式數據模型在傳統關系型數據庫中,每張表都事先定義好模式,數據存放在表里。表中每一行為一條數據,對應的列是該條數據的屬性值,屬性的數據類型具有嚴格定義。當插入一條數據,該數據項中某一個列值不滿足表的預先定義格式要求,會導致插入數據不成功。這種“嚴格定義”較好地保證了數據的正確性。但在大數據環境下,數據類型與數據結構呈現多樣化特征,結構化和非結構化數據并存。
今天設計好的檔案數據庫系統所存放的數據類型與數據格式,不一定能滿足未來工作需求。另外,當遇到不同檔案數字資源整合時,異構系統之間的數據格式與數據類型未必完全一致,作為檔案信息系統后臺的數據庫管理系統 DBMS 需要有更開放的數據包容能力,以滿足數據類型多樣化要求。大部分 NoSQL 的數據模型采用的是一種鍵-值類型( key-value) ,可細分為: 鍵-值型( key-value) 、鍵-列型( key-column) 、鍵-文檔型( key-document) 。key 是數據的序號,通過 key 查找數據庫中的數據位置。該數據模型不用事先定義其內在的數據結構,所以 NoSQL 數據模型屬于弱模式或者無模式的數據模型。相對關系型數據庫的表數據,NoSQL 采用的數據模型弱化了數據結構中的語義部分,value 部分的數據結構依每條數據要求自行定義,其語義特征交由應用層解析。
這種弱模式或者無模式結構很好地支持了大數據環境下數據類型多樣化。當前電子文件歸檔范圍不斷擴大: 文本文件( txt、word、pdf) 、圖像文件( jpg、gif、bmp) 、影音文件( flash、rmvb、avi)等都納入數據庫管理范圍,且不同類型的文件其著錄信息也不相一致。傳統關系型數據庫下,通常為這些不同類型的數據構建不同的表,一旦需求發生改變,表結構就可能需要隨之改變,從而產生額外的技術沖突和成本。而在非關系型數據庫中,不同類型結構的數據可以統一保存在( key-value) 的數據集中,每條數據 value 部分的數據結構可以依據具體要求而自行定義,數據類型與數據結構的包容性更強,異構系統之間的數據整合也更為方便,滿足大數據對數據類型多樣化要求。
2.2 海量數據存儲( volume) 與 NoSQL 的分布式存儲在傳統關系型數據庫中,數據庫里所有表的集合構成了一個邏輯上的整體。當數據庫中表容量增加到一定規模,致使一臺服務器存儲容量無法承載其全部表集合時,需要分布式承載,此時數據分割問題便隨之而來。雖然關系型數據庫在分布式環境下給出了“表”的橫向分割和縱向分割多種方案,但每種方案的代價都是驚人的,其對“表”分割的代價無異于系統的二次開發。大數據環境下的海量數據呈流數據狀態,隨著時間的推移會持續增長,數據庫會面臨著再次分割。數據庫系統需要適應這種數據膨脹環境,以低代價或者無代價方式任意擴展自己的數據存儲。顯然,關系型數據庫難以滿足此項要求。由于 NoSQL 的數據模型采用弱模式或者無模式的數據類型。其數據分割不再像表數據分割那樣困難,只需依據數據集中每個數據的 key 值范圍“重新”劃定部署位置,便可以分布式地存放在不同服務器的存儲空間。目前較為流行的 NoSQL 數據存儲方案為“Master-Range”方案。
Master 節點( MasterServer) 負責管理整個數據庫系統,同時監視 Range 節點( RangeServer) 的運行狀態,并為每一個 Range 節點分配數據存儲的范圍( key 值范圍) ,形成一個 key 值與 RangeServer 的映射表 tablet,通過 tablet 表獲取 key 值和 RangeServer地址。Master 一般采用多副本控制策略,當主 Master服務器宕機時,選擇一臺副 Master 為新的主 Master。Range 節點是數據存放節點,也是真正與客戶發生數據交互和數據處理的節點。同時 Range 節點不時向Master 節點匯報自己的健康狀況和負載情況,當某個 Range 節點發生故障或者負載過重時,Master 節點會執行局部調度,將負載過重的 Range 數據調整到較空閑的 Range 節點上,同時相應調整 tablet 表的映射關系。
通過 Master-Range 結構將數據分散到多個節點中,當增加新的 Range 節點時,Master 節點只需修改key 值范圍與 RangeSever 集群的映射關系表 tablet即可,擴展代價非常低。Google 的 BigTable、Hadoop的 Hypertable,阿里巴巴的 OceanBase 都是采用類似結構。據阿里巴巴官方報道,其增加一個數據庫服務站點的時間從過去 1 個月縮短為 90 分鐘。由此可見 NoSQL 在海量數據組織與數據管理上較傳統關系型數據庫具有更好的靈活性與橫向擴展性,滿足大數據環境下對海量數據存儲的管理要求。
2.3 處理速度快( Velocity) 與 NoSQL 分布式計算資源大數據環境下提高數據處理速度,一般可以通過提升性能或者增加規模來完成,也稱為縱向擴展方式和橫向擴展方式兩種。縱向擴展方式是指通過提升現行服務器硬件的性能來提高數據處理能力。其優點是方法簡單,系統程序不需要修改,只需投入相應的硬件更換費用; 缺點則是單臺硬件設備的性能存在上限,因而縱向擴展方式存在性能提升瓶頸,且單臺硬件設備性能越高,其性價比越低。橫向擴展方式是使用多臺廉價服務器,組成一個集群,通過并行運算來提高系統的運算速度。其優點是系統的計算能力呈線性提升,隨處理速度需求增長集群規模相應擴大; 缺點則是針對集群服務器數量變化,系統程序要做相應調整。針對大數據環境下的各類云服務平臺往往需要面對 TB 或是 PB 級數據存儲,用戶數量千萬甚至上億,日訪問量百萬次以上,并發數時常以千為數量級。由于縱向擴展存在性能提升瓶頸,所以橫向擴展方式將是各類數字化平臺提升性能的首選方案。
實際與客戶發生數據交互的是 Range節點,而不是 Master 節點。所以當 Range 節點數量增加時,NoSQL 系統平臺的計算資源也得到相應提升。同時 NoSQL 技術引入了 Map-Reduce 高性能計算框架: 通過映射( Map) 化簡( Reduce) 的思想,可以把一個復雜任務分解為多個子任務交由不同 Range節點并行執行,再將執行結果進行化簡歸約輸出,大大提高了數據庫系統的查詢、統計、數據分析運算效率[20]。
例如萬方數據知識服務平臺,采用自行研發的 WFIRC 檢索引擎( NoSQL 技術的一種) ,將資源按照期刊、會議、學位、專利、標準等劃分數據集,其中期刊數據集又可按照學科類型繼續劃分存放在不同的服務器中,整個集群系統對文獻的查詢、統計、分析、論文相似性檢測等任務均分派由不同的數據集所在的服務器完成切詞、分詞、文本比對等計算任務,最后將任務結果匯總輸出給用戶。一篇 1 萬字的論文相似性檢測,在海量文獻全文中比對耗時不到 10 秒。可見易于橫向擴展的 NoSQL 技術滿足大數據對處理速度快的要求。
3 “NoSQL”技術在檔案大數據管理中的應用分析
3.1 檔案知識服務功能實現
20 世紀 50 年代知識服務就被圖情檔界提出,發展到今天其服務的內容、形式、意義發生了巨大變化。在大數據背景下,知識服務更強調“知識”的自動化生產[21],而不是簡單的知識供給: 從海量數據中提煉信息,從大量信息中挖掘知識,即結構化的數據構成信息,有規律的信息得出經驗( 知識) 過程。可以看出,未來這種知識服務是建立在擁有大量信息基礎上,大量信息則是建立在海量數據獲取的基礎上。在大數據背景下,檔案知識服務被重新定義,檔案數據收集范圍從過去的經加工、篩選、鑒別的歷史檔案數據,朝著具有記錄性的人類社會生活生產的全方位信息數據擴展。檔案知識服務由過去的通過簡單查詢獲取歷史檔案數據作為經驗知識為人們使用,演化為對海量檔案數據進行數據分析、數據挖掘生成新的信息、新的知識過程。所以未來檔案知識服務的根基是擁有海量歸檔數據。
隨著檔案服務功能不斷深化,網絡社交媒體數據已經納入了檔案數據收集的視野。Twitter 是美國一家著名網絡社交媒體,該公司于 2012 年開始推出“個人推文存檔”( Your Twitter Archive) 服務,用于保存用戶的歷史推文記錄,便于用戶查閱歷史數據信息[22]。這也開啟了數據到信息再到知識的過程,例如: 通過分析個人推文歷史數據,可以得出過去 5 年人們所關注的生活問題有哪些( 提煉信息) ,通過獲取這些人們所關注“問題”可以制定下屆政府施政方案( 挖掘知識) 。
同時我們可以看到 Twitter 公司于2010 年棄用傳統關系型數據庫 MySQL,啟用 NoSQL計劃。原因是在 2009 年,Twitter 每天產生約 12TB用戶數據,每年產生約 4PB 數據( 且數據增長速度還在擴大) ,MySQL 已經無法應對如此龐大的海量數據管理。所以在大數據環境下,這類流數據隨時間成持續性增長,對電子數據長久保存提出了更高要求。因為我們無法使用傳統設置時間點的概念刪除老舊數據,也不能將老舊數據轉儲至異地與系統分隔。檔案大數據背景下,以全數據作為知識服務的根基,其數據管理系統應能滿足海量流數據增長需求,Twitter 公司的數據管理經驗可以借鑒。
3.2 數字檔案記憶功能
拓展人腦具有“記憶”功能屬性,且人腦記憶容量一直是一個謎。2003 年,英國《獨立報》曾報道: 科學家估算人腦的記憶容量約為 10 的后面跟 8432 個零個字節。2014 年 3 月 Nature 刊登了一篇文章,分析小白鼠的大腦相當于 1TB 存儲容量,據此推算人腦容量約為 7.6 億 TB 存儲容量,用單塊硬盤 8TB,也需要 9500 萬塊硬盤,這說明人類的腦容量不是現存某一臺超級計算機所能比擬的[23]。上述結論雖是科學臆測,但可以從側面反映出人類記憶具有海量數據容量特征。“檔案是典型的記憶工具”成為“檔案是一種信息”與“檔案是一種知識”之后的又一重要提法[24]。
雖然檔案作為記憶工具有別于人腦記憶,在記憶實踐活動中往往具有選擇性,選取有價值的記憶作為保存對象,但作為具有人類記憶功能屬性的檔案記憶隨著時間推演,未來會不會趨近于人類記憶,我們不得而知。同時在現代科技發展水平不斷進步的背景下,數據價值的判斷與選擇變得模糊。比如對某一天的氣象數據記憶,似乎并無太大價值,但如果連續記憶了 10 年、50 年、100 年的氣象數據,針對該記憶進行大數據分析,就可得出地球氣象變遷的趨勢,進而預測未來地球環境演化。美國國家大氣研究中心 NCAR 從 20 世紀 60 年代中期開始對大氣變化數據進行采集、歸檔、保存、利用,通過最新數據模擬系統可以構建一個 3D 時空大氣運行狀態[25]。
這種大記憶觀對人類生活中產生的數據信息盡可能多地進行分類、歸檔、記錄、挖掘、利用,一些看似無價值的記憶數據組合在一起將重獲新生價值,這將是檔案記憶價值的又一重要體現。馮惠玲教授在《檔案記憶觀、資源觀與“中國記憶”數字資源建設》一文中,強調“若舍棄泛在、實時的數字資源,必將造成當代社會活動記錄的殘缺不全”,在互聯網時代應注重網絡媒體資源的鑒別、收集、描述、整合、發布,通過廣大網民的查詢利用與鑒別考證讓檔案資源變得更加真實可信、更加有社會價值[26]。可見,在大數據視域下,“檔案記憶觀”與“檔案資源觀”被重新詮釋,檔案工作被賦予新的使命,檔案作為人類記憶工具必將面臨海量的數據存儲與大規模的數據運算,具備大數據 3V 特征的 NoSQL 技術正是實踐上述過程的有力工具。
3.3 智慧檔案館建設
隨著“智慧城市”概念的提出,智慧檔案館也興起一股研究熱潮,近年圍繞智慧檔案館的研究涌現出一批科研成果。魯俊杰在“對智慧檔案館及其研究的反思性探析”一文中,嘗試對智慧檔案館下定義[27]。楊來青在“檔案館未來發展的新前景: 智慧檔案館”一文中對智慧檔案館的智慧特征進行了 5點歸納[28]。楊智勇在“試析智慧檔案館的興起與未來發展”一文中分析了智慧檔案館關于技術使用、體系架構、知識服務三個層面的內容[29]。陳嘉鈺在“智慧檔案館數據化管理功能的實現”中強調應利用數字技術實現智慧檔案館管理功能的全面感知[30]。總結以往研究,可以得出智慧檔案館有別于傳統檔案館,主要在資源收集、智慧感知、泛在化服務三個層面朝著大數據 3V 特征靠近,并與 NoSQL 技術擁有契合點。
4 結語:
檔案大數據管理技術發展格局上述論述是基于檔案數字化工作與大數據應用完全融合狀態,即檔案信息化建設進入高級階段。而當前我國檔案數字化建設還存在發展不均衡現象,許多地方檔案館的檔案資源特點還是已加工的、滯后的、靜止的、穩定的電子文件數據,這些數據雖然體量巨大,但與真正的“大數據”“全數據”還有一定差別[32],目前階段尚不必須要使用具有大數據特征的 NoSQL 技術。因此,NoSQL 作為異于傳統關系型數據庫 SQL 的一種新技術,并非是要取代 SQL,而是作為 SQL 的一種補充。未來可預見,那些建立在互聯網門戶基礎上,后臺具有海量檔案信息數據,面向全體用戶并提供深層次數據分析與數據挖掘服務的檔案數據管理平臺將會借助 NoSQL 技術進行檔案大數據管理。而面向區域部門的傳統檔案館的檔案數據管理平臺將會繼續采用 傳 統 關 系 型 數 據 庫。綜 合 分 析,NoSQL 與SQL 在檔案數字化建設中將長期并存。
參考文獻:
[1]Gilbert S,Lynch N.Brewer's Conjecture and the Feasibilityof Consistent,Available,Partition - Tolerant Web Services[J].ACM SIGACT News,2002,33( 2) : 51-59.
[2]Dan P.BASE: An Acid Alternative[J].DBLP,2008,6( 3) :48-55.
[3]陸嘉恒.大數據挑戰與 NoSQL 數據庫技術[M].北京: 電子工業出版社,2013: 5-8.
[4]吳鵬,劉恒旺,丁慧君.基于本體和 NoSQL 的機械產品方案設計的知識表示與存儲研究[J].情報學報,2017,36( 3) : 285-296.
[5]趙永強.基于 NoSQL 的特色數據庫系統研究[J].圖書館工作與研究,2018( S1) : 97-99+124.
選自期刊《管理工程師》第 27 卷 第 3 期2022 年 6 月
作者信息:孫 安( 河南科技大學 圖書館,河南 洛陽 471000)
轉載請注明來自發表學術論文網:http://www.zpfmc.com/wslw/30352.html