大數據時代數據管理方式研究

大數據時代數據管理方式研究html

1數據管理技術的回顧
   數據管理技術主要經歷了人工管理階段、文件系統階段和數據庫系統階段。隨着數據應用領域的不斷擴展,數據管理所處的環境也愈來愈複雜,目前普遍流行的數據庫技術開始暴露出許多弱點,面臨着許多新的挑戰。web

    1.1 人工管理階段
    20 世紀 50 年代中期,計算機主要用於科學計算。當時沒有磁盤等直接存取設備,只有紙帶、卡片、磁帶等外存,也沒有操做系統和管理數據的專門軟件。該階段管理的數據不保存、由應用程序管理數據、數據不共享和數據不具備獨立性等特色。
    1.2 文件系統階段
    20 世紀 50 年代後期到 60 年代中期,隨着計算機硬件和軟件的發展,磁盤、磁鼓等直接存取設備開始普及,這一時期的數據處理系統是把計算機中的數據組織成相互獨立的被命名的數據文件,並可按文件的名字來進行訪問,對文件中的記錄進行存取的數據管理技術。數據能夠長期保存在計算機外存上,能夠對數據進行反覆處理,並支持文件的查詢、修改、插入和刪除等操做。其數據面向特定的應用程序,所以,數據共享性、獨立性差,且冗餘度大,管理和維護的代價也很大。
    1.3數據庫階段
    20 世紀 60 年代後期以來,計算機性能獲得進一步提升,更重要的是出現了大容量磁盤,存儲容量大大增長且價格降低。在此基礎上,纔有可能克服文件系統管理數據時的不足,而知足和解決實際應用中多個用戶、多個應用程序共享數據的要求,從而使數據能爲儘量多的應用程序服務,這就出現了數據庫這樣的數據管理技術。數據庫的特色是數據再也不只針對某一個特定的應用,而是面向全組織,具備總體的結構性,共享性高,冗餘度減少,具備必定的程序與數據之間的獨立性,而且對數據進行統一的控制。
   2大數據時代的數據管理技術
   大數據(big data),或稱巨量資料,指的是所涉及的資料量規模巨大到沒法透過目前主流軟件工具,在合理時間內達到擷取、管理、處理、並整理成爲幫助企業經營決策更積極目的的資訊。大數據有 3 個 V,一是大量化(Volume),數據量是持續快速增長的,從 TB級別,躍升到 PB 級別;二是多樣化(Variety),數據類型多樣化,結構化數據已被視爲小菜一碟,圖片、音頻、視頻等非結構化數據正以傳統結構化數據增加的兩倍速快速建立;三是快速化 (Velocity),數據生成速度快,也就須要快速的處理能力,所以,產生了「1 秒定律」,就是說通常要在秒級時間範圍內給出分析結果,時間太長就失去價值了,這個速度要求是大數據處理技術和傳統的數據挖掘技術最大的區別。
    2.1 關係型數據庫(RDBMS)
    20 世紀 70 年代初,IBM 工程師 Codd 發表了著名的論文「A Relational Model of Data for Large Shared DataBanks」,標誌着關係數據庫時代來臨。關係數據庫的理論基礎是關係模型,是藉助於集合代數等數學概念和方法來處理數據庫中的數據,現實世界中的實體以及實體之間的聯繫很是容易用關係模型來表示。容易理解的模型、容易掌握的查詢語言、高效的優化器、成熟的技術和產品,使得關係數據庫佔據了數據庫市場的絕對的統治地位。隨着互聯網 web2.0 網站的興起,半結構化和非結構化數據的大量涌現,傳統的關係數據庫在應付 web2.0 網站特別是超大規模和高併發的 SNS(全稱 Social Networking Services,即社會性網絡服務) 類型的 web2.0 純動態網站已經顯得力不從心,暴露了不少難以克服的問題。
    2.2 noSQL數據庫
    順應時代發展的須要產生了 noSQL數據庫技術,其主要特色是採用與關係模型不一樣的數據模型,當前熱門的 noSQL數據庫系統能夠說是蓬勃發展、異軍突起,不少公司都熱情追捧之,如:由 Google 公司提出的 Big Table 和 MapReduce 以及 IBM 公司提出的 Lotus Notes 等。不論是那個公司的 noSQL數據庫都圍繞着大數據的 3 個 V,目的就是解決大數據的 3個 V 問題。所以,在設計 noSQL 時每每考慮如下幾個原則,首先,採用橫向擴展的方式,經過並行處理技術對數據進行劃分並進行並行處理,以得到高速的讀寫速度;其次,解決數據類型從以結構化數據爲主轉向結構化、半結構化、非結構化三者的融合的問題;再次,放鬆對數據的 ACID 一致性約束,容許數據暫時出現不一致的狀況,接受最終一致性;最後,對各個分區數據進行備份(通常是 3 份),應對節點失敗的情況等。
    對數據的應用能夠分爲分析型應用和操做型應用,分析型應用主要是指對大量數據進行分類、彙集、彙總,最後得到數據量相對小的分析結果;操做型應用主要是指對數據進行增長、刪除、修改和查詢以及簡單的彙總操做,涉及的數據量通常比較少,事務執行時間通常比較短。目前數據庫可分爲關係數據庫和 noSQL數據庫,根據數據應用的要求,再結合目前數據庫的種類,因此目前數據庫管理方式主要有如下 4 類。
    (1)面向操做型的關係數據庫技術。
    首先,傳統數據庫廠商提供的基於行存儲的關係數據庫系統,如 DB二、Oracle、SQL Server 等,以其高度的一致性、精確性、系統可恢復性,在事務處理方面仍然是核心引擎。其次,面向實時計算的內存數據庫系統,如 Hana、Timesten、Altibase 等經過把對數據併發控制、查詢和恢復等操做控制在內存內部進行,因此得到了很是高的性能,在不少特定領域如電信、證券、網管等獲得廣泛應用。另外,以 VoltDB、Clustrix 和NuoDB 爲表明的 new SQL 宣稱可以在保持 ACDI 特性的同時提升了事務處理性能 50 倍 ~60 倍。
    (2)面向分析型的關係數據庫技術。
    首先,TeraData 是數據倉庫領域的領頭羊,Teradata 在總體上是按 Shared Nothing 架構體系進行組織的,定位就是大型數據倉庫系統,支持較高的擴展性。其次,面向分析型應用,列存儲數據庫的研究造成了另外一個重要的潮流。列存儲數據庫以其高效的壓縮、更高的 I/O 效率等特色,在分析型應用領域得到了比行存儲數據庫高得多的性能。如:MonetDB 和 Vertica是一個典型的基於列存儲技術的數據庫系統。
    (3)面向操做型的 noSQL 技術。
    有些操做型應用不受 ACID 高度一致性約束,但對大數據處理須要處理的數據量很是大,對速度性能要求也很是高,這樣就必須依靠大規模集羣的並行處理能力來實現數據處理,弱一致性或最終一致性就能夠了。這時,操做型 noSQL數據庫的優勢就能夠發揮的淋漓盡致了。如,Hbase 一天就能夠有超過 200 億個到達硬盤的讀寫操做,實現對大數據的處理。另外,noSQL數據庫是一個數據模型靈活、支持多樣數據類型,如對圖數據建模、存儲和分析,其性能、擴展性是關係數據庫沒法比擬的。
    (4)面向分析型的 noSQL 技術。
    面向分析型應用的 noSQL 技術主要依賴於Hadoop 分佈式計算平臺,Hadoop 是一個分佈式計算平臺,以 HDFS 和 Map Reduce 爲用戶提供系統底層細節透明的分佈式基礎架構。《Hadoop 經典實踐染技巧》傳統的數據庫廠商 Microsoft,Oracle,SAS,IBM 等紛紛轉向 Hadoop 的研究,如微軟公司關閉 Dryad 系統,全力投入 Map Reduce 的研發,Oracle 在 2011 年下半年發佈 Big Plan 戰略計劃,全面進軍大數據處理領域,IBM 則早已捷足先登「,沃森(Watson)」計算機就是基於 Hadoop 技術開發的產物,同時 IBM 發佈了 BigInsights 計劃,基於 Hadoop,Netezza 和 SPSS(統計分析、數據挖掘軟件)等技術和產品構建大數據分析處理的技術框架。同時也涌現出一批新公司來研究Hadoop 技術,如 Cloudera、MapRKarmashpere 等。
   3數據管理方式的展望
    經過以上分析,能夠看出關係數據庫的 ACID 強調數據一致性一般指關聯數據之間的邏輯關係是否正確和完整,而對於不少互聯網應用來講,對這一致性和隔離性的要求能夠下降,而可用性的要求則更爲明顯,此時就能夠採用 noSQL 的兩種弱一致性的理論 BASE 和 CAP.關係數據庫和 noSQL數據庫並非想到對立的矛盾體,而是能夠相互補充的,根據不一樣需求使用不一樣的技術,甚至兩者能夠共同存在,互不影響。最近幾年,以 Spanner 爲表明新型數據庫的出現,給數據庫領域注入新鮮血液,這就是融合了一致性和可用性的 newSQL,這種新型思惟方式或許會是將來大數據處理方式的發展方向。
   4 結束語
    隨着雲計算、物聯網等的發展,數據呈現爆炸式的增加,人們正被數據洪流所包圍,大數據的時代已經到來。正確利用大數據給人們的生活帶來了極大的便利,但與此同時也給傳統的數據管理方式帶來了極大的挑戰。數據庫

相關文章
相關標籤/搜索