大資料時代資料管理技術研究綜述論文

來源:才華庫 1.15W

隨著計算機技術和網路的快速發展,半結構化和非結構化等型別資料成幾何倍增長,學習和使用大資料管理技術順應時代發展潮流。本文從資料管理技術的發展程序出發,介紹了人工管理方式、檔案系統管理方式、資料庫管理方式三種階段的管理方式。然後詳細介紹了關係資料庫和NoSQL非關係資料庫,並且將兩者從三種角度進行了對比。最後對未來大資料時代資訊管理方式作出了展望。

大資料時代資料管理技術研究綜述論文

引言

隨著計算機和網路技術的快速發展,移動互聯、社交網路、電子商務、雲端計算等各種新興服務的興起,極大拓展了網際網路的疆界和應用領域,隨之產生的是海量的資料,這些資料不僅來源的渠道多樣,並且資料規模和資料種類也是快速的增長,大資料時代已經來臨。大資料時代,無法將海量資料儲存和管理在一臺或者有限數目的伺服器內,更無法藉助有限的計算機去處理和管理大資料。因此,如何利用現有的資源應對當前資料量的快速增長,實現對大資料的有效、便捷、安全的管理,是當前國內外關於資料管理和資料分析亟需解決的問題。

1 資料管理技術的發展

資料管理是指對各種型別的資料進行採集、儲存、分類、計算、加工、檢索和傳輸的過程。隨著計算機和網路技術的不斷髮展和改進,資料庫管理技術也在不斷的更新換代。到目前階段為止,資料管理技術主要發展歷程經歷了以下階段:人工資料管理方式、檔案系統管理方式和資料庫系統管理方式。

1.1 人工資料管理方式

20世紀50年代中期,計算機初期被應用於科學計算方面,因此,早期的資料處理都是手工完成的。資料儲存只有磁帶、卡片和紙帶等低速儲存裝置。既沒有作業系統,也沒有管理資料的專門軟體,此階段管理的資料,不能進行共享,且沒有獨立性,資料純粹面向應用,服務於應用。

1.2 檔案系統管理方式

20世紀60年代中期,隨著計算機進一步的發展,不僅用於科學計算,而且更多地用於資訊處理。對於資料儲存,有了磁碟、磁鼓等儲存裝置。作業系統和高階語言的出現為檔案系統管理提供了可能。此階段的檔案系統,是按照相應的規則將資料組織成一個獨立的命名檔案。這一時期的資料特點是:資料可以長期儲存在磁碟上、有專門的軟體進行管理維護、資料不再獨立存在,資料不止服務於應用,在一定程度上,資料的共享性得到了提高。

1.3 資料庫系統管理方式

20世紀60年代後期,資料庫系統管理方式逐漸形成並具有一定的規模。由於磁碟技術的不斷進步和發展,低成本、高速的硬碟佔領了市場,為新的資料管理技術提供了產生的必要條件。對應的軟體技術也有一定的發展。資料庫系統是由計算機的軟硬體資源共同組成,實現了資料的動態、有規則、獨立儲存。如圖1所示。

2 大資料管理技術

大資料是指無法在可承受的時間範圍內用常規軟體工具進行捕捉、管理和處理的資料集合。歸結為四個特點就是四“V”,即大量(Volume)、高速(Velocity)和多樣性(Variety)和價值(Value)。大資料首先體現在資料量上:全球著名諮詢機構IDC(國際文獻資料中心)在2006年估計全世界產生的資料量是0.18ZB(1ZB=100萬PB),而截至2011年這個數字已經提升了一個數量級,達到1.8ZB。這種資料產生的速度仍在增長,預計2015年將達到8ZB。隨著資料量的增長,得到龐大的資料來源和樣本資料後,人們並不能容忍對於這些龐大的資料處理響應時間。因此,大資料需要在資料量提高的前提下,資料的處理和響應能力進行提高,從而確保資料延遲可以在人們的接受範圍之內。因此資料處理要得到有效的保證,那如何儲存和組織管理這些海量資料,值得我們去探索和研究。

2.1 關係型資料庫(RDBMS)

2.1.1 關係資料庫的提出

20世紀70年代初,IBM工程師Codd發表了一篇論文“A Relational Model of Large Shared DataBanks”,隨之關係資料庫時代宣告到來。關係資料庫管理系統(Relational Database ManagementSystem,簡稱RDBMS)就是基於上述的論文而被設計出來的。在關係資料庫之前的系統主要有基於層次模型的層次資料庫、基於網狀模型的網狀資料庫等。以上幾種資料庫的主要不足是資料模型是很難被使用者所理解,並且編寫的軟體與資料模式依賴性比較高。Codd提出的關係資料模型是基於表格、行、列、屬性等基本概念,將現實世界中的各類實體及其關係對映到表格上,並且還為關係模型建立了關係代數運算。

2.1.2 關係資料庫的應用

關係資料庫系統最初主要是應用於事務處理領域。隨著資料的不斷積累增長,人們需要對資料進行分析操作,提取出有用的資訊以支援決策等等。這些分析操作主要包括簡單彙總、聯機分析處理(online analytical processing,簡稱OLAP,主要是多維分析)、統計分析、資料探勘等。有些分析處理需要對資料集進行多次的掃描,分析查詢執行的時間以分鐘或者小時計。與普通行儲存模式不同,一些學者提出了列儲存模式(columnar storage model)。列儲存模型有行儲存沒有的優勢特徵,當查詢只涉及關係的某些資料列時,不會造成無關資料的提取,減少I/O操作,提高了查詢的效率。圍繞RDBMS,形成了一個完整的生態體系(廠家、技術、產品、服務等),提供了包括資料採集、資料管理、資料查詢與分析、資料展現(即視覺化)等技術和產品,創造了巨大的資料庫產業,為社會發展做出了巨大貢獻。

2.1.3 關係資料庫的不足

大資料時代的到來,關係型資料庫並未做好全面的準備,出現了諸多問題,主要問題有以下幾個方面:

(1)關係模型不容易組織和管理所有型別多樣的資料,例如在關係資料庫裡,管理大規模的高維時空資料、大規模的影象資料等都顯得力不從心。

(2)如何才能通過大量節點的並行操作實現大規模資料的高速處理,仍然值得我們去探索。在關係資料庫上進行大規模的事物處理,不但需要解決查詢的效能問題,更需要解決修改操作的效能問題,大量的事物處理,需要高效完成,才能保證資料的永續性和可靠性。

(3)在關係資料庫上進行資料的複雜分析,能夠使用的是統計分析和資料探勘軟體包;現有的統計分析、資料探勘軟體包能夠處理的資料量受限於記憶體開銷,並行化程度不高。從資料庫中提取資料,注入到分析軟體中進行分析,在大資料時代,這樣的資料移動以及不合適了。通過資料的劃分和平行計算,實現高效能的資料分析成為必然選擇。

從中可以得出,現如今的資料管理已經不是簡單的關係型資料庫可以解決的,關係型資料庫在一定程度上只能解決初期的大資料管理。

2.2 NoSQL資料庫管理技術

隨著時代的發展,傳統的關係型資料庫已經無法滿足人們對於更高的併發讀寫、海量資料的高效儲存和訪問以及高擴充套件性和可用性等需求,出現了NoSQL資料技術。

對於NoSQL技術,學術界有兩種對其的解釋:(1)“Non-Relational”,也就是非關係型資料庫;(2)“Not Only SQL”,即資料庫不僅僅是SQL。當前第二種解釋比較流行。NoSQL資料庫是指資料模型定義不明確的非關係型資料庫。NoSQL資料庫具有靈活的資料模型、高可擴充套件性和美好的發展前景。下面主要介紹NoSQL的幾種管理技術。

NoSQL資料庫普遍採用的資料管理方式有四種:Key-Value儲存方式、BigTable儲存方式、Document儲存方式以及Graph儲存方式。2010年Rick Cattell對各種典型NoSQL系統從各個方面做了比較系統的分析。

2.2.1 基於Key-Value儲存的NoSQL技術

Key-Value是NoSQL系統比較常用的資料儲存方式,每個Key值對應每一個任意類的資料值,對應的物件可以是結構化資料,也可以是文件。Key-Value儲存的思想是將抽取唯一可以確定資料的特徵屬性,作為key,並將作為value物件。基於Key-Value模型組織資料,需要將資料按照Key-Value形式儲存,而後可以通過對Key-Value進行序列化排序操作繼而儲存、將Key-Value儲存為字串或者位元組資料,並且對key建立索引以便進行快速查詢。Key-Value儲存方式的NoSQL系統有的採用的DISK方式儲存實現同步資料複製(例如Membase等),有的採用RAM儲存資料實現非同步資料複製(例如Redis等)。

Jing Han等人基於Key-Value儲存提出了CDSA(Cloud Data Storage Architecture),體系結構可以較好優化雲端計算過程中的資料查詢,同時也保證了海量資料的儲存。CSDA包括三層:DCL(DataCache Layer)、MDL(Memory Database Layer)、DDL(Disk Database Layer)。

2.2.2 基於BigTable儲存的NoSQL技術

BigTable管理方式是Google提出來並廣泛採用的儲存方式,而且也被HBase、HyperTabley以及Cassandra等系統借鑑使用。在BigTable儲存中,同樣是通過Key-Value基礎模型對資料進行建模,不一樣的是Value具有了比較精巧的結構,即一個Value包含多個列,這些列還能進行分組(column family),表現出了多層巢狀對映的資料結構特點。HBase是受BigTable啟發而開發的基於Column Family儲存的NoSQL技術。Hbase提供系統的SQL查詢介面,使用者可以輕鬆的對資料進行管理工作。Cassandra技術也是受到BigTable的啟發,只不過Cassandra做了大幅度的修改。Cassandra在Column Family下加入了超級列(super column)概念層次的對映關係,方便對資料進行建模。Cassandra還可以將多個Column Family在磁碟儲存在一起,這樣就可以在同時訪問時提高效率。

2.2.3 基於Document儲存的NoSQL技術

基於Document(文件)儲存的技術以及發展很久了,例如IBM的Lotus Notes。這裡所說的基於Document儲存的NoSQL技術是基於傳統文件儲存技術的新發展、新技術。基於Document儲存技術仍是以Key-Value儲存模型為基本模型,此模型可以對文件的歷史版本進行追蹤,單個文件又是一個Key-Value的列表,形成迴圈巢狀的結構,對於某些特定的查詢方式來說,Document儲存的效率更高。因為其資料的迴圈巢狀的結構特點,應用程式可能會越來越複雜並且難以維護和理解。主要的技術和產品有CouchDB, MongoDB和Dynamo。

2.2.4 基於Graph儲存的NoSQL技術

基於Graph儲存的系統包括Ne04J, InfoGrid,Hyper Graph DB等。有些圖資料庫是基於物件導向資料庫建立的,例如Infnite Graph,在節點的遍歷等圖資料的操作中,展現出了高效的效能。Graph儲存方式是將整個資料集建模成一個大型的網路結構,之後再採用一系列圖操作實現對資料的操作。由於圖由結點和邊構成,對於海量資料不能完全裝入記憶體,因此,Graph儲存方式一般是基於DISK的,NoSQL系統實現圖索引,完成圖的調入調出。

從資料管理的角度來看,使用非結構化Key-Value儲存管理結構化大資料仍然是順應應用需求的。因為基於Key-Value儲存的Hadoop資料倉庫實現技術尚處於起步階段,需要其他資料庫技術來加速器發展程序。

2.2.5 NoSQL的'不足

與傳統的關係型資料庫相比,NoSQL非關係型資料庫在並行處理方面有一定優勢,但也是存在一些問題,主要體現在:

( 1) NoSQL很難實現資料的完整性

由於NoSQL專案中很難實現資料的完整性,而在企業中資料完整性又是必不可少的。因此,在企業中,NoSQL的應用還不是很廣泛。

(2)成熟度不高

大部分的NoSQL資料庫都是開源專案,沒有世界級的資料庫廠商提供完整的服務,出現問題,都是自己解決,風險較大。

(3)關係資料庫比NoSQL在設計時更能夠體現實際,而NoSQL資料庫缺乏這種關係,難以體現業務的實際情況,對於資料庫的設計與維護都增加了難度。

2.3 關係資料庫和NoSQL資料庫的區別

傳統的關係資料庫與NoSQL資料庫在資料管理系統發展不同的時間段裡都體現出了自己的可用性和實用性,能夠解決的一定的問題。表格l將兩者進行了對比。

3 資料管理方式的展望

通過上述研究分析可以看出,關係資料庫已經無法滿足現階段即大資料時代人們對於資料儲存和管理的需求,更高的儲存效率和更快的查詢速度等一系列高要求,促使資料管理方式不斷向前發展。NoSQL技術在一定程度上解決了大資料時代的資料管理需求,但仍需採用新技術提高資料庫的一致性和可用性。關係資料庫主要優點表現在其屬性值之間可以通過SQL操作進行關聯操作,體現出了資料的完整性,NoSQL資料庫將資料進行分散式儲存,為之後的大資料處理作鋪墊。關係資料庫的ACID強調資料一致性通常指的是關聯資料之間的邏輯關係是否正確和完整,而對於很多網際網路應用來說,對一致性和隔離性的要求可以降低,而可用性的要求則更為明顯。關係資料庫和NoSQL資料庫並不是對立的矛盾體,而是可以相互補充的,可以根據不同的需求使用不同的技術,各取所需,甚至可以共同存在,互不影響。

目前大資料的應用領域還是主要以民用為主,以電信通訊為例,客戶之間通訊傳輸過程中產生海量資料,將這些海量資料進行實時儲存,再利用大資料方法提取有效資訊,形成整套的資料管理與分析的流程。在電信.氣象、企業等領域大資料管理與分析已經有比較成熟的思路和解決方法。在航天試驗領域,空間飛行器執行任務可以產生海量資料,包括飛行器自身載荷資料,以及試驗任務資料,這些資料的型別多樣、資料量大,隨著試驗任務的頻率和在軌航天器數量的增大,資料管理問題日益凸顯,採用大資料管理的思維解決航天試驗任務中資料管理問題,是未來航天試驗任務資料儲存和分析的必然趨勢。

4 結論

大資料時代已經向我們走來,資料管理技術已經進入了新的階段。本文研究分析了資料管理技術的發展程序,分析了關係資料庫和NoSQL資料庫,並且進行了對比區分。最後,對大資料未來的管理方式作出了展望。關係資料庫和NoSQL資料庫系統是隨著人們對於資料管理的需求產生和發展的,在不同的資料管理髮展階段,根據需要對其進行分析的資料特點,選擇適當的資料管理方式,幫助人們解決了一定的問題和需求。

熱門標籤