時間:2023-03-21 17:16:41
導言:作為寫作愛好者,不可錯過為您精心挑選的10篇大數據技術,它們將為您的寫作提供全新的視角,我們衷心期待您的閱讀,并希望這些內容能為您提供靈感和參考。
中圖分類號:TP391 文獻標志碼:A 文章編號:1006-8228(2015)01-13-02
Overview on big data technology
Yang Jing
(Department of Computer Science, Yunyang Teachers' College, Shiyan, Hubei 442000, China)
Abstract: Big data is a new technical wave after the network of things and cloud computing. To understand big data technology, the definition and 4V characteristics, the key technologies and main application fields are systematically analyzed in the paper. Through the introduction of the basic conception, characteristics, the main application fields with typical cases are summarized. The core technologies, key strategies of cloud computing, hadoop and data backup are analyzed. The potential information safety risks are pointed out. The countermeasures are given to provide some suggestions and references for wider application and study in the future.
Key words: big data; 4V characteristics; Hadoop; cloud computing
0 引言
物聯網、云計算等新興技術的迅速發展開啟了大數據時代的帷幕。大數據技術是指從各種各樣的海量數據中,快速獲取有價值信息的技術,大數據的核心問題就是大數據技術。目前所說的“大數據”不僅指數據本身的規模大,還包括采集數據的工具、平臺和數據分析系統復雜程度大。大數據的研發目的是發展大數據技術并將其應用到相關領域,解決實際生產、生活中的各種問題,從而推動信息技術健康地可持續發展。
1 大數據的定義及主要特征
與其他新興學科一樣,目前大數據沒有一個統一的標準和定義。一般認為:大數據是由大量異構數據組成的數據集合,可以應用合理的數學算法或工具從中找出有價值的信息,并為人們帶來經濟及社會效益的一門新興學科。大數據又被稱為海量數據、大資料、巨量數據等,指的是所涉及的數據量規模巨大,以至于無法在合理時間內通過人工攫取、管理、處理并整理成為人類所能解讀的信息。這些數據來自方方面面,比如社交網絡、傳感器采集、安防監控視頻、購物交易記錄等。盡管尚無統一定義,但這些無比龐大的數據被稱為大數據。大數據具有如下4V特性[1]:
⑴ 體量Volume,是指數據存儲量大,計算量大;
⑵ 多樣Variety,是指大數據的異構和多樣性,比如數據來源豐富,數據格式包括多種不同形式,如網絡日志、音頻、視頻、圖片、地理位置信息等等;
⑶ 價值Value,是指大數據價值密度相對較低,信息海量,但是要挖掘出真正有價值的數據難度較大,浪里淘沙卻又彌足珍貴;
⑷ 速度Velocity,是指數據增長速度快,處理速度要求快。
2 大數據技術的應用領域
通過對海量數據進行采集、分析與處理,挖掘出潛藏在數據海洋里的稀疏但卻彌足珍貴的信息,大數據技術正在對經濟建設、醫療教育、科學研究等領域產生著革命性的影響,其所帶來的巨大使用價值正逐漸被各行各業的人們所感知。
2.1 金融領域
大數據的火熱應用突出體現在金融業,各大互聯網企業(谷歌、阿里巴巴等)紛紛掘金大數據,開創了新的互聯網金融模式。目前阿里巴巴的互聯網金融做得如火如荼:基金、小額信貸、余額寶和理財保險產品等等,阿里巴巴之所以能夠做火金融服務,其主要原因就在于阿里的大數據,阿里巴巴的電商平臺存儲了大量微小企業客戶及數以億計的個人用戶行為信息、交易記錄、身份數據等,擁有最好、最全的數據以及最完整的產業鏈,做P2P及個人小額信貸,具有最大優勢[2]。相反,傳統商業銀行早期就已推出的小額信貸業務,開展得并不十分順利。
2.2 市場營銷
今天的數字化營銷與傳統市場營銷最大的區別就在于精準定位及個性化。如今企業與客戶的交流渠道發生了革命性的變化,從過去的電話及郵件,發展到今天的博客、論壇、社交媒體賬戶等,從這些五花八門的渠道里跟蹤客戶,將他們的每一次點擊、加好友、收藏、轉發、分享等行為納入到企業的銷售漏斗中并轉化成一項巨大的潛在價值,就是所謂的360度客戶視角。例如谷歌的銷售策略主要著眼于在線的免費軟件,用戶使用這些軟件時,無形中就把個人的喜好、消費習慣等重要信息提交給了谷歌,因此谷歌的產品線越豐富,他們對用戶的理解就越深入,其廣告定位就越精準,廣告所攫取的價值就越高,這是正向的循環。
2.3 公眾服務
大數據的另一大應用領域是公眾服務。如今數據挖掘已經能夠預測海嘯、地震、疾病暴發,理解交通模型并改善醫療和教育等。例如,可采用神經網絡和基于地震時間序列的支持向量機方法來預測地震的大概方位、時間、震級大小等重要信息,為通用地震模擬程序提供關鍵的數據,從而對地震進行早期預警,以使防震抗災部門可以提前做好應對措施,避免大量的人員傷亡及財產損失;再如,將各個省市的城鎮醫療系統、新農村合作醫療系統等全部整合起來,建立通用的電子病歷等基礎數據庫,實現醫院之間對病患信息的共享,提高患者就醫效率[3];電力管理系統通過記錄人們的用電行為信息(做飯、照明、取暖等),大數據智能電網就能實現優化電的生產、分配及電網安全檢測與控制,包括大災難預警與處理、供電與電力調度決策支持和更準確的用電量預測等,并通過數據挖掘技術找出可行的節能降耗措施,以實現更科學的電力需求分配管理。
2.4 安防領域
安防領域中最重要的就是視頻監控系統,從早期看得見到現在看得遠、看得清,視頻監控是典型的數據依賴型業務,依賴數據說話。尤其是高清、超高清監控時代的到來,會產生巨量的視頻數據。這些巨量視頻監控數據中,多數是冗余無用的,只有少數是關鍵數據,如何剔除這些無用數據,一直是人們研究問題的焦點。在大數據技術的支撐下,通過對巨量視頻數據的分析與處理,可實現模糊查詢、精準定位、快速檢索等,能夠對高清監控視頻畫質進行細節分析,智能挖掘出類似行為及特征的數據,從而為業務分析和事件決策判斷提供精準依據。
3 大數據處理關鍵技術
3.1 數據備份技術
在大數據時代,如何做好數據的安全備份至關重要。數據備份是數據容災的前提,具體是指當出現某種突發狀況導致存儲系統中的文件、數據、片段丟失或者嚴重損壞時,系統可準確而快速地將數據進行恢復的技術。數據容災備份是為防止偶發事件而采取的一種數據保護手段,其核心工作是數據恢復,根本目的是數據資源再利用。
3.2 Hadoop
大數據時代對于數據分析、管理等都提出了更高層次的要求,傳統的關系型數據庫和數據分析處理技術已經不能滿足大數據橫向擴展的需求。為了給大數據處理、分析提供一個性能更好、可靠性更高的平臺,Apache基金會開發了一個開源平臺Hadoop[4],該平臺用Java語言編寫,可移植性強,現在Hadoop已經發展為一個包括HDFS(分布式文件系統 )、HBase(分布式數據庫)等功能模塊在內的完整生態系統,成為目前主流的大數據應用平臺。
3.3 云計算
如果把各種各樣的大數據應用比作在公路上行駛的各種汽車,那么支撐這些汽車快速運行的高速公路就是云計算,云計算是大數據分析處理技術的核心。正是由于云計算在海量信息存儲、分析及管理方面的技術支持,大數據才有了如此廣闊的用武之地。谷歌的各種大數據處理技術和應用平臺都是基于云計算,最典型的就是以UFS(UIT云存儲系統)、MapReduce(批處理技術)、BigTable(分布式數據庫)為代表的大數據處理技術以及在此基礎上產生的開源數據處理平臺Hadoop[5]。
4 大數據應用帶來的信息安全隱患及應對策略
大數據時代,海量數據通常存儲在大規模分布式的網絡節點中,管理相對分散,而且系統也無法控制用戶進行數據交易的場所,因此很難辨別用戶的身份(合法及非法用戶),容易導致不合法用戶篡改或竊取信息;此外,大數據存儲系統中包含了海量的個人用戶隱私數據及各種行為的記錄信息,如何在大數據的挖掘利用中確定一個信息保護和開放的尺度, 是大數據面臨的又一難題。為了合理利用大數據并有效規避風險,我們提出以下四點建議:
⑴ 國家出臺相關政策,加強頂層設計,保障數據存儲安全;
⑵ 增強網絡安全防護能力,抵御網絡犯罪,確保網絡信息安全;
⑶ 提高警惕積極探索,加大個人隱私數據保護力度;
⑷ 深化云計算安全領域研究,保障云端數據安全。
5 結束語
在當今信息知識爆炸的時代,大數據技術已經被廣泛應用于商業金融、電力醫療、教育科研等領域。隨著數據挖掘技術的不斷進步,相關信息行業競相從規模龐大、結構復雜的大數據海洋中攫取更多有價值的數據信息用于分析、解決現實生活中的各種實際問題,從而實現信息技術的快速健康發展。本文梳理了大數據的基本概念及4V特征,總結歸納了大數據技術的四大熱門應用領域及三大核心處理技術,分析了大數據技術帶來的諸如信息竊取及篡改、個人隱私數據泄露等信息安全隱患,并提出了相應的解決措施及建議。當然,目前大數據技術的研究尚處在起步階段,還有許多深層次的問題亟待解決,如大數據的存儲管理是通過硬件的簡單升級還是通過系統的重新設計來解決,大數據4V特征中起關鍵作用的是什么,大數據技術的應用前景是什么,等等。就目前來看,未來大數據技術的研究之路還很長,需要我們用更加敏銳的洞察力來分析和研究。
參考文獻:
[1] BARWICK H. The "four Vs" of big data. Implementing Information
Infrastructure Symposium[EB/OL]. [2012-10-02]. http://.au/article/396198/iiis_four_vs_big_data/.
[2] 韋雪瓊,楊嘩,史超.大數據發展下的金融市場新生態[Jl.時代金融,
2012.7:173-174
[3] 張敬誼,佘盼,肖筱華.基于云計算的區域醫療信息化服務平臺的研
中圖分類號:TP311 文獻標識碼:A 文章編號:1007-9416(2015)04-0222-01
1 大數據時代數據挖掘的重要性
隨著互聯網、物聯網、云計算等技術的快速發展,以及智能終端、網絡社會、數字地球等信息體的普及和建設,全球數據量出現爆炸式增長,僅在2011年就達到1.8萬億GB。IDC(Internet Data Center,互聯網絡數據中心)預計,到2020 年全球數據量將增加50倍。毋庸置疑,大數據時代已經到來。一方面,云計算為這些海量的、多樣化的數據提供存儲和運算平臺,同時數據挖掘和人工智能從大數據中發現知識、規律和趨勢,為決策提供信息參考。
如果運用合理的方法和工具,在企業日積月累形成的浩瀚數據中,是可以淘到沙金的,甚至可能發現許多大的鉆石。在一些信息化較成熟的行業,就有這樣的例子。比如銀行的信息化建設就非常完善,銀行每天生成的數據數以萬計,儲戶的存取款數據、ATM交易數據等。
數據挖掘是借助IT手段對經營決策產生決定性影響的一種管理手段。從定義上來看,數據挖掘是指一個完整的過程,該過程是從大量、不完全、模糊和隨機的數據集中識別有效的、可實用的信息,并運用這些信息做出決策。
2 數據挖掘的分類
數據挖掘技術從開始的單一門類的知識逐漸發展成為一門綜合性的多學科知識,并由此產生了很多的數據挖掘方法,這些方法種類多,類型也有很大的差別。為了滿足用戶的實際需要,現對數據挖掘技術進行如下幾種分類:
2.1 按挖掘的數據庫類型分類
利用數據庫對數據分類成為可能是因為數據庫在對數據儲存時就可以對數據按照其類型、模型以及應用場景的不同來進行分類,根據這種分類得到的數據在采用數據挖掘技術時也會有滿足自身的方法。對數據的分類有兩種情況,一種是根據其模型來分類,另一種是根據其類型來分類,前者包括關系型、對象-關系型以及事務型和數據倉庫型等,后者包括時間型、空間型和Web 型的數據挖掘方法。
2.2 按挖掘的知識類型分類
這種分類方法是根據數據挖掘的功能來實施的,其中包括多種分析的方式,例如相關性、預測及離群點分析方法,充分的數據挖掘不僅僅是一種單一的功能模式,而是各種不同功能的集合。同時,在上述分類的情況下,還可以按照數據本身的特性和屬性來對其進行分類,例如數據的抽象性和數據的粒度等,利用數據的抽象層次來分類時可以將數據分為三個層次,即廣義知識的高抽象層,原始知識的原始層以及到多層的知識的多個抽象層。一個完善的數據挖掘可以實現對多個抽象層數據的挖掘,找到其有價值的知識。同時,在對數據挖掘進行分類時還可以根據其表現出來的模式及規則性和是否檢測出噪聲來分類,一般來說,數據的規則性可以通過多種不同的方法挖掘,例如相關性和關聯分析以及通過對其概念描述和聚類分類、預測等方法,同時還可以通過這些挖掘方法來檢測和排除噪聲。
2.3 按所用的技術類型分類
數據挖掘的時候采用的技術手段千變萬化,例如可以采用面向數據庫和數據倉庫的技術以及神經網絡及其可視化等技術手段,同時用戶在對數據進行分析時也會使用很多不同的分析方法,根據這些分析方法的不同可以分為遺傳算法、人工神經網絡等等。一般情況下,一個龐大的數據挖掘系統是集多種挖掘技術和方法的綜合性系統。
2.4 按應用分類
根據數據挖掘的應用的領域來進行分類,包括財經行業、交通運輸業、網絡通信業、生物醫學領域如DNA等,在這些行業或領域中都有滿足自身要求的數據挖掘方法。對于特定的應用場景,此時就可能需要與之相應的特殊的挖掘方法,并保證其有效性。綜上所述,基本上不存在某種數據挖掘技術可以在所有的行業中都能使用的技術,每種數據挖掘技術都有自身的專用性。
3 數據挖掘中常用的方法
目前數據挖掘方法主要有4種,這四種算法包括遺傳、決策樹、粗糙集和神經網絡算法。以下對這四種算法進行一一解釋說明。
遺傳算法:該算法依據生物學領域的自然選擇規律以及遺傳的機理發展而來,是一種隨機搜索的算法,利用仿生學的原理來對數據知識進行全局優化處理。是一種基于生物自然選擇與遺傳機理的隨機搜索算法,是一種仿生全局優化方法。這種算法具有隱含并行性、易與其它模型結合等優點從而在數據挖掘中得到了應用。
決策樹算法:在對模型的預測中,該算法具有很強的優勢,利用該算法對龐大的數據信息進行分類,從而對有潛在價值的信息進行定位,這種算法的優勢也比較明顯,在利用這種算法對數據進行分類時非常迅速,同時描述起來也很簡潔,在大規模數據處理時,這種方法的應用性很強。
粗糙集算法:這個算法將知識的理解視為對數據的劃分,將這種劃分的一個整體叫做概念,這種算法的基本原理是將不夠精確的知識與確定的或者準確的知識進行類別同時進行類別刻畫。
神經網絡算法:在對模型的預測中,該算法具有很強的優勢,利用該算法對龐大的數據信息進行分類,從而對有潛在價值的信息進行定位,這種算法的優勢也比較明顯,在利用這種算法對數據進行分類時非常迅速,同時描述起來也很簡潔,在大規模數據處理時,這種方法的應用性很強。光纜監測及其故障診斷系統對于保證通信的順利至關重要,同時這種技術方法也是順應當今時代的潮流必須推廣使用的方法。同時,該診斷技術為通信管網和日常通信提供了可靠的技術支持和可靠的后期保證。
參考文獻
中圖分類號:TP311.13
關于數據方面的新名詞是層出不窮,云計算、物聯網的概念還沒有完全理解,大數據的概念又頻頻出現在媒體中,特別是今年“兩會”期間,在央視報道中,多次使用大數據進行實時分析。大數據的概念從計算機業界也迅速傳播到各行各業,與我們的日常生活也密切的聯系在一起。不但中國如此,2012年3月,奧巴馬宣布美國政府五大部門投資兩億美元啟動“大數據研究與開發計劃”,【1】大力推動大數據相關的收集、儲存、保留、管理、分析和共享海量數據技術研究,以提高美國的科研、教育與國家安全能力,美國政府以及把“大數據”技術上升到國家安全戰略的高度。其他國家也紛紛加大對大數據研究的資金投入,同時,許多大公司企業也將此技術視作創新前沿。
1 大數據概念與特征
但是,到目前為止,業界關于大數據的概念尚未有統一的定義。最早將大數據應用于IT環境的是著名的咨詢公司麥肯錫,它關于大數據的定義是這樣的:大數據是指無法在一定時間內用傳統數據庫軟件工具對其內容進行采集、存儲、管理和分析的數據集合。另外,被引用較多得到大家認可的還有維基百科的定義:大數據指數量巨大、類型復雜的數據集合,現有的數據庫管理工具或傳統的數據處理應用難以對其進行處理。這些挑戰包括如捕獲、收集、存儲、搜索、共享、傳遞、分析與可視化等。【2】
當前,較為統一的認識是大數據有四個基本特征:數據規模大(Volume),數據種類多(Variety),數據要求處理速度快(Velocity),數據價值密度低(Value),即所謂的四V特性。這些特性使得大數據區別于傳統的數據概念。【3】
首先,數據量龐大是大數據的最主要的特征,大數據的數據規模是以PB、EB、ZB量級為存儲單位的,數據量非常龐大。同時,此類數據還在不斷的加速產生,因此,傳統的數據庫管理技術無法在短時間內完成對數據的處理。第二,數據種類多。與傳統的數據相比,大數據的數據類型種類繁多,包括了結構化數據、半結構化數據和非結構化數據等多種數據類型。傳統的數據庫技術采取關系型數據庫較多,結構單一,而大數據重點關注的是包含大量細節信息的非結構化數據,因此傳統數據庫技術不能適應新的大數據的要求,傳統的數據處理方式也面臨著巨大的挑戰。第三,大數據的產生與存儲是動態的,有的處理結果時效性要求很高,這就要求對數據能夠快速處理,數據處理速度快也是大數據區別數據倉庫的主要因素。數據產生的速度以及快速變化形成的數據流,超越了傳統的信息系統的承載能力。最后,數據價值密度低是大數據關注的非結構化數據的重要屬性。大數據分析是采用原始數據的分析,保留了數據的全貌,因此一個事件的全部數據都會被保存,產生的數據量激增,而有用的信息可能非常少,因此價值密度偏低。
2 大數據可用性的面臨的技術與問題
大數據并不僅僅指其數據量之大,更代表著其潛在的數據價值之大。有研究證明,有效地管理、使用大數據能夠給企業提供更多增強企業生產能力和競爭能力的機會,能夠給企業帶來巨大的潛在商業價值。【4】但不可否認的是,大數據目前也面臨很多負面影響。低質量低密度的數據也可能對決策造成致命性的錯誤。如何把大數據從理論研究到企業應用的轉變,還面臨很多問題與挑戰。
(1)可用性理論體系的建立。大數據的可用性需要完整的理論做支撐,才能解決諸如如何形式化的表示數據可用性、如何評估數據可用性、數據錯誤自動發現和修復依據什么理論、如何管理數據和數據融合、數據安全性采取何種策略和理論等一系列問題。因此,要建立完整可用性理論體系,構建統一的模型,為大數據的進一步應用提供堅實的理論基礎。
(2)高質量數據的獲取的能力。大數據技術最基礎的對象就是數據,是一切應用和分析決策的前提。因此,獲取高質量數據是確保信息可用性的重要因素之一。隨著互聯網的數據不斷增大,物聯網的興起以及復雜物理信息系統的應用,大數據的來源也多種多樣,數據模型千差萬別,質量也參差不齊,這就為加工整合數據帶來非常大的困難。
大數據是對事物最原始的全貌記錄,數據量規模很大,但是其中有用的信息非常少,因此,對于處理數據來說,數據并不是越多越好。如何提高數據中的有效數據是非常關鍵的。大量的數據中如果僅僅包含了少量的錯誤數據,對分析結果可能不會造成很大的影響。但是如果對錯誤數據沒有有效控制的話,大量錯誤數據的涌入很可能會得到完全錯誤的結果。
因此,獲取高質量數據的能力是大數據能否進行實用的關鍵因素,否則只會在浪費人力物力后獲得完全無效甚至錯誤的結果。但是目前還缺乏系統的研究,對于出現的問題還沒有很好的解決方案,在獲取數據方面的工作任重而道遠。
1、大數據技術是指大數據的應用技術,涵蓋各類大數據平臺、大數據指數體系等大數據應用技術。
2、大數據是指無法在一定時間范圍內用常規軟件工具進行捕捉、管理和處理的數據集合。是需要新處理模式才能具有更強的決策力、洞察發現力和流程優化能力的海量、高增長率和多樣化的信息資產。
3、隨著云時代的來臨,大數據也吸引了越來越多的關注。分析師團隊認為,大數據通常用來形容一個公司創造的大量非結構化數據和半結構化數據,這些數據在下載到關系型數據庫用于分析時會花費過多時間和金錢。
4、大數據分析常和云計算聯系到一起,因為實時的大型數據集分析需要像MapReduce一樣的框架來向數十、數百或甚至數千的電腦分配工作。
(來源:文章屋網 )
中圖分類號:TP311 文獻標識碼:A 文章編號:1007-9416(2015)09-0000-00
大數據遠不止大量的數據(TB)和處理大量數據的技術,它以一種前所未有的方式,通過對海量數據進行分析,獲得有巨大價值的產品和服務[1]。然而面對龐大的數據來獲得有價值的信息是一個巨大的挑戰。為了克服上述困難,近幾年來推出了Hadoop、PureData和Exadata等多種大數據系統分析平臺,以Hadoop平臺最為突出,深受用戶的歡迎。但是隨著應用的不斷深入,Hadoop暴露出了它的局限性。主要體現在以下幾方面:第一,操作過于單一,僅支持Map和Reduce兩種操作;第二,迭代計算效率較低,尤其在機器學習和圖形計算方面[2]。 2013年底由Apache 軟件基金會提出的Spark框架技術較好地解決了這些問題。
1 Spark技術架構
1.1 Spark設計思想
Spark是一種基于HDFS的并行計算架構。主要思想是通過一種新的作業和數據容錯方式來減少磁盤和網絡的I/O開銷 其核心技術是彈性分布式數據集(RDD),是指在一組存儲計算機中的只讀數據集合,這個數據集合可以在分區對象丟失后進行重建[5]。也就是說RDD的元素不一定需要存儲在物理介質中,相反,一個RDD的處理進程包含了如何從可靠的數據存儲中去獲取足夠的信息來對這個RDD進行處理。如果RDDS的任務節點失敗,總可以進行重建[3]。
1.2 Spark系統架構
與MapReduce不同,Spark并不僅僅局限于編寫map和reduce兩個方法,它為用戶提供了更為強大的內存計算模型,使得用戶可以通過編程將數據讀取到集群的內存當中,這樣可以快速在內存中對數據集進行多次迭代,支持復雜的數據挖掘算法和圖計算算法使用Scala語言開發,以Mesos作為底層的調度框架,可以和 Hadoop和Ec2緊密集成,直接讀取HDFS或S3的文件進行計算并把結果寫回HDFS或S3,是Hadoop和Amazon云計算生態圈的一部分,項目的core部分代碼只有63個Scala文件,執行效率高效。Spark主要由四個模塊組成:Spark SQL、MLlib、Spark 流和GraphX。Spark SQL為了兼容主流關系型數據庫系統(RDBMS)可以允許用戶編寫SQL和HQL兩種腳本執行查詢,其核心組件是JavaSchemaRDD,它是一個類似于RDBMS的一個Table,由Row和Schema對象來描述Table中行對象和列的DataType。
2 Spark運行模式
2.1 Spark任務調度方式
Spark的運行模式有多種,主要由SparkContext的MASTER環境變量所獲得的值來決定,有些模式還需要程序接口來配合輔助決定。但概括起來,Spark運行都以Spark-Context為總調度驅動程序,負責應用程序的資源分配,期間分別創建作業調度和任務調度兩級模塊。作業調度模塊是基于階段的高層調度模塊,每個Spark 作業計算通常有多個階段,每個階段分解為一組任務集,以任務組的形式提交給底層任務調度模塊來具體執行實際計算任務,任務調度模塊負責啟動實際任務,監控和匯報任務運行情況。如果分配任務成功,SparkContext會將應用程序代碼給指定的執行者完成一個或多個任務[4]。
2.2 Spark運行模式類型
Spark的運行模式,歸納起來有六種。
(1)Local[M]。該模式使用 LocalBackend 調用TaskSchedulerImpl 實現。LocalBackend 響應Scheduler的receiveOffers請求,根據可用CPU Core的設定值[M]直接生成WorkerOffer資源返回給Scheduler,并通過Executor類在線程池中依次啟動和運行Scheduler返回的任務列表。
(2)Standalone。該模式使用SparkDeploySchedulerBackend調用TaskSchedulerImpl來實現 ,而SparkDeploySchedulerBackend同時繼承了CoarseGrainedSchedulerBackend。是一個在Akka Actor上實現的粗粒度的資源調度類,在整個Spark Job運行期間,監聽和擁有注冊給它的Executor資源,比如接受Executor注冊,狀態更新,響應Scheduler請求等,并且根據現有Executor資源發起任務流程調度。
(3)Local-cluster。偽分布模式實際上是在Standalone模式上實現的,也就是在SparkContext初始化的過程中在本地啟動一個單機的偽分布Spark集群,后面的執行流程與Standalone模式相同。
(4)Mesos。該模式主要根據顆粒度大小來區分,粗粒度的CoarseMesosSchedulerBackend繼承了CoarseGrained SchedulerBackend,相對于父類額外做的工作還要實現MScheduler接口,注冊到Mesos資源調度的框架中,用于接收Mesos的資源分配,在得到資源后通過Mesos框架遠程啟動CoarseGrainedExecutorBackend,以后的任務交互過程和Spark standalone模式一樣,由DriverActor和Executor Actor直接完成。 細粒度的MesosSchedulerBackend直接繼承SchedulerBackend,但同樣實現了MScheduler接口,完成Mesos資源調度框架中的注冊,接收Mesos的資源分配。不同之處是在接收資源分配以后,MesosSchedulerBackend啟動的是遠程Executor,通過在遠程執行命令來啟動MesosExecutorBackend,直接執行對應的任務。
(5)Yarn-standalone。Yarn-Standalone模式相對其它模式有些特殊,需要外部程序輔助啟動應用程序。Client通過Yarn Client API在Hadoop集群上啟動一個Spark App Master,Spark App Master首先為自己注冊一個Yarn App Master,再啟動用戶程序,然后根據Client傳遞過來的參數,Spark App Master通過Yarn RM/NM接口在集群中啟動多個Container運行CoarseGrainedExecutorBackend往CoarseGrainedSchedulerBackend注冊。后面的任務調度流程跟其它Cluster模式類似,不再述說。
(6)Yarn-client。該模式的SparkContext運行在本地,適用于應用程序本身需要在本地交互的情景。這種模式下SparkContext在初始化時首先啟動YarnClientSchedulerBackend,然后再調用客戶端包遠程啟動一個作業作為Spark的App Master,相對于Yarn-standalone模式,此模式不再負責啟動用戶程序,而只是啟動Backend便于跟客戶端本地Driver進行數據傳遞,后面的任務調度流程跟其它模式類似。
3 Spark應用現狀及發展
目前SPARK已經構建了自己的整個大數據處理生態系統,如流處理、圖技術、機器學習、NoSQL查詢等方面的技術,并且是Apache頂級項目。雖然Spark對內存要求較高,推出時間較短未經過實踐考驗,但伴隨著大數據相關技術和產業的逐步成熟,繼Hadoop之后,Spark技術以集大成的無可比擬的優勢,發展迅速,將成為替代Hadoop的下一代云計算、大數據核心技術。可以預計2015年下半年在社區和商業應用上會有爆發式的增長。
參考文獻
[1] K. Shvachko, K. Hairong, S. Radia e R. Chansler. The Hadoop Distributed File System[C]. IEEE 26th Symposium on Mass Storage Systems and Technologies, 2010.
[2] Spark: Lighting-fast cluster computing[EB/OL]. http:///.
[3] M. Hirzel, H. Andrade, B. Gedik, et al. IBM Streams Processing Language: Analyzing Big Data in motion[J]. IBM Journal of Research and Development.2013,57(7):1-7.
1.1什么是大數據
大數據概念可以從四個維度去解,即三個V和一個C。三個V分別指的是數據量大(Volume)、數據種類多(Variety)和數據增長速度快(Velocity),最后一個C指的是處理、升級或利用大數據的分析手段比處理結構化數據要復雜的多(Complexity)。大數據分析常和云計算聯系到一起,因為實時的大型數據集分析需要像Map-Reduce一樣的并行計算框架將復雜的計算任務分配到“云”中成百上千的節點。
1.2大數據與云計算
大數據本身就是一個問題集,云計算技術是目前解決大數據問題集最重要最有效的手段。云計算提供了基礎的架構平臺,大數據應用在這個平臺上運行。目前公認為分析大數據集最有效手段的分布式處理技術,也是云計算思想的一種具體體現。
云計算是分布式處理、并行處理和網格計算的發展,或者說是這些計算機科學概念的商業實現。云計算將網絡上分布的計算、存儲、服務構件、網絡軟件等資源集中起來,基于資源虛擬化的方式,為用戶提供方便快捷的服務, 實現了資源和計算的分布式共享和并行處理,能夠很好地應對當前互聯網數據量高速增長的勢頭。
1.3大數據與Hadoop
Hadoop是一個Apache的開源項目,主要面向存儲和處理成百上千TB直至PB級別的結構化、半結構化或非結構化的大數據。Hadoop提供的Map-Reduce能將大數據問題分解成多個子問題,并將它們分配到成百上千個處理節點之上,再將結果匯集到一個小數據集當中,從而更容易分析得出最后的結果。
Hadoop項目包括三部分,分別是Hadoop Distributed File System(HDFS)、Map Reduce編程模型,以及Hadoop Common。Hadoop具備低廉的硬件成本、開源的軟件體系、較強的靈活性、允許用戶自己修改代碼等特點,同時能支持海量數據的存儲和計算任務。這些特點讓Hadoop被公認為是新一代的大數據處理平臺。 Hadoop同樣具備出色的大數據集處理能力,在獲取、存儲、管理和分析數據方面遠遠超越傳統的數據庫軟件工具。Hadoop經常在構建大數據解決方案時被用作基礎構架軟件。
二、大數據技術綜述
大數據處理不僅僅是Hadoop,許多特定的數據應用場景是需要實時分析和互動反饋的,這時候就需要利用包括內存檢索、流處理和實時計算等其他技術。而云計算的分布式存儲和計算架構開啟了大數據技術研究的大門,打造健全的大數據生態環境,所有這些技術結合在一起,才是一個完整的大數據處理系統。
2.1分布式計算框架
MapReduce是Google開發的一種簡化的分布式編程模型和高效的任務調度模型,用于大規模數據集(大于1TB)的并行運算,使云計算環境下的編程變得十分簡單。
MapReduce將數據處理任務抽象為一系列的Map(映射)和Reduce(化簡)操作對。Map主要完成數據的分解操作,Reduce主要完成數據的聚集操作.輸入輸出數據均以〈key,value〉格式存儲.用戶在使用該編程模型時,只需按照自己熟悉的語言實現Map函數和Reduce函數即可,MapReduce算法框架會自動對任務進行劃分以做到并行執行。
Pregel是Google 提出的迭代處理計算框架,它具有高效、可擴展和容錯的特性,并隱藏了分布式相關的細節,展現給人們的僅僅是一個表現力很強、很容易編程的大型圖算法處理的計算框架。Pregel的主要應用場景是大型的圖計算,例如交通線路、疾病爆發路徑、WEB 搜索等相關領域。
2.2分布式文件系統
為保證高可用、高可靠和經濟性,基于云計算的大數據處理系統采用分布式存儲的方式來保存數據,用冗余存儲的方式保證數據的可靠性。目前廣泛使用的分布式文件系統是Google的GFS和Hadoop團隊開發的GFS的開源實現HDFS。
GFS即Google文件系統,是一個可擴展的分布式文件系統,用于大型的、分布式的、對大量數據進行訪問的應用。GFS的設計思想不同于傳統的文件系統,是針對大規模數據處理和Google應用特性而設計的,運行成本低廉,并提供容錯功能。
HDFS即Hadoop分布式文件系統,受到GFS很大啟發,具有高容錯性,并且可以被部署在低價的硬件設備之上。HDFS很適合那些有大數據集的應用,并且提供了數據讀寫的高吞吐率。HDFS是一個master/slave的結構,在master上只運行一個Namenode,而在每一個slave上運行一個Datanode。HDFS支持傳統的層次文件組織結構,對文件系統的操作(如建立、刪除文件和文件夾)都是通過Namenode來控制,Datanode用來存放數據塊。
2.3大數據管理技術
互聯網數據已超出關系型數據庫的管理范疇,電子郵件、超文本、博客、標簽(Tag)以及圖片、音視頻等各種非結構化數據逐漸成為大數據的重要組成部分,而面向結構化數據存儲的關系型數據庫已經不能滿足數據快速訪問、大規模數據分析的需求,隨之而來,一系列新型的大數據管理技術和工具應運而生。
2.3.1 非關系型數據庫
NoSQL,也有人理解為Not Only SQL,它是一類非關系型數據庫的統稱。其特點是:沒有固定的數據表模式、可以分布式和水平擴展。NoSQL并不是單純的反對關系型數據庫,而是針對其缺點的一種補充和擴展。典型的NoSQL數據存儲模型有文檔存儲、鍵-值存儲、圖存儲、對象數據、列存儲等。而比較流行的,不得不提到Google的Bigtable,它把所有數據都作為對象來處理,形成一個巨大的表格,用來分布存儲大規模結構化數據,數據量可達PB級。而HBase是Hadoop團隊基于Bigtable的開源實現,使用HDFS作為其文件存儲系統。同時,Cassandra(K/V型數據庫)、MongoDB(文檔數據庫)和Redis等一系列優秀的非關系型數據庫產品如雨后春筍般問世。
2.3.2 數據查詢工具
Hive是Facebook提出的基于Hadoop的大型數據倉庫,其目標是簡化Hadoop上的數據聚集、即席查詢及大數據集的分析等操作,以減輕程序員的負擔.它借鑒關系數據庫的模式管理、SQL接口等技術,把結構化的數據文件映射為數據庫表,提供類似于SQL的描述性語言HiveQL供程序員使用,可自動將HiveQL語句解析成一優化的MapReduce任務執行序列.此外,它也支持用戶自定義的MapReduce函數。
PigLatin是Yahoo!提出的類似于Hive的大數據集分析平臺.兩者的區別主要在于語言接口.Hive提供了類似SQL的接口,PigLatin提供的是一種基于操作符的數據流式的接口.可以說Pig利用操作符來對Hadoop進行封裝,Hive利用SQL進行封裝。
Google Dremel是個可擴展的、交互式的即時查詢系統,用于完成大規模查詢結構化數據集(如日志和事件文件)。它支持類SQL語法,區別在于它只能查詢,不支持修改或者創建功能,也沒有表索引。數據被列式存儲,這樣有助于提升查詢的速度。Google將Dremel作為MapReduce的一種補充,被用于分析MapReduce的結果或者是作為大規模計算的測試。
2.4實時流處理技術
伴隨著互聯網業務發展的步調,以及業務流程的復雜化,企業的注意力越來越集中在“數據流”而非“數據集”上面,他們需要的是能夠處理隨時發生的數據流的架構,現有的分布式計算架構并不適合數據流處理。流計算強調的是數據流的形式和實時性。MapReduce系統主要解決的是對靜態數據的批量處理,當MapReduce任務啟動時,一般數據已經到位了(比如保存到了分布式文件系統上),而流式計算系統在啟動時,一般數據并沒有完全到位,而是經由外部數據源源不斷地流入,重視的是對數據處理的低延遲,希望進入的數據越快處理越好。數據越快被處理,結果就越有價值,這也是實時處理的價值所在。
流計算的數據本身就是數據流,不需要數據準備的時間,有數據流入就開始計算,解決了數據準備和延遲的兩個問題。現有的解決方案中,Twitter的Storm和雅虎的S4框架更適合數據流計算的場景。Storm是開源的分布式實時計算系統,可以可靠的處理流式數據并進行實時計算,單機性能可達到百萬記錄每秒,開發語言為Clojure和Java,并具備容錯特性。S4是面向流式數據和實時處理的,所以針對實時性較高的業務,可以很好地對數據做出高效的分析處理,而且系統一旦上線,很少需要人工干預,源源不斷的數據流會被自動路由并分析。對于海量數據,它和MapReduce都可以應對,但它能比后者更快地處理數據。
三、思考與展望
以云計算為基礎的信息存儲、分享和挖掘手段為知識生產提供了工具,通過對大數據分析、預測會使得決策更為精準,這對媒體融合具有重要意義。
中圖分類號:TP311
文獻標識碼:A
文章編號:1009-3044(2017)10-0025-01
數據信息作為時代的信息管理標志其安全性必須收到更大的重視,數據信息的安全存儲系統尤為重要,防止信息數據的丟失的管理備份系統更為重要。因此能夠將數據信息妥善管理,保證其正常工作的技術相當重要,但當數據真正丟失或不可避免地出現問題以后能夠盡快地將其找回或者是在有效的時間內將其完整地恢復,以確保整個計算機系統能夠正常工作的技術更是必不可少的。
1.數據備份概念及其特點
數據備份指的是將計算機系統的所有數據或者是部分重要數據借助某一種或多種手段從計算機一個系統復制到另一個系統,或者是從本地計算機存儲系統中復制到其他的存儲系統中。其目的就是保障系統可用或者是數據安全。防止由于人為的失誤或者是系統故障問題亦或是自然災害等方面的原因造成系統數據的安全性無法保障的問題。數據備份更重要的原因是數據信息的多重保存以備不時之需。
數據備份按照備份的實現方式可以分為單機和網絡兩種備份方式,傳統的備份就是單機備份針對計算機本身將數據進行異地存儲,現代比較流行的就是網絡備份。這是針對整個網絡而言的,這種方式的備份較為復雜,是通過網絡備份軟件對存儲介質和基礎硬件存儲設備的數據進行保存和管理。由于網絡備份是在網絡中進行數據備份的,因此也就不同于普通的傳統單機備份,是包含需要備份的文件數據和網絡系統中使用到的應用程序以及系統參數和數據庫等內容的。
數據備份的作用在于:一方面,在數據受到損害時對數據進行還原和恢復;另一方面,數據信息的歷史性、長久保存,方便數據的歸檔。
2.數據備份存儲技術
備份換言之就是數據的再存儲,因此備份技術是存儲技術的重要內容之一,但是數據備份存儲作為計算機系統技術與簡單的備份區別很大。計算機數據備份存儲技術時更為全面、完整、穩定安全的數據信息的備份,是網絡系統高效數據存儲的,也是安全性較高的網絡備份。
文件存儲作為最基礎的數據類型是隨機存儲在硬盤上的數據片段和文檔資料,這些存儲的數據文檔、報表甚至是作為數據庫文件的應用程序等等在存儲一定的量就會出現超出容量的情況因此對其的整合是必要的。這樣的整合是將存儲的各類數據或者是數據庫以一個順序和程序的形式出現,幫助人們解決備份存儲的空間問題,技術問題以及成本問題。更能將工作人員的連續數據維護和監控從繁重的工作中解放出來。
3.保障計算機數據網絡備份的安全性策略
通過網絡傳輸的備份數據在傳輸過程和傳輸路徑方面必須確保數據的安全性。若不能保證數據的安全那么一些企業的關鍵數據和重要應用程序就會受損,甚至是失去了備份的意義。因此相比單機備份而言網絡備份更要確保安全傳輸和安全存儲。
首先確保備份數據的機密性。數據信息的網絡備份不能被非法用戶隨意獲得,因此在數據備份過程和傳輸過程中必須防止數據的機密性被破壞。一般數據備份常用的方法是加密。必須保證是數據擁有者才能使用這些數據信息,關鍵的數據信息的加密工作相比更加嚴格。數據內容不容有失,甚至是數據的相關名稱和代碼等也不能隨便被非法進入系統的人獲得才是最能保障數據安全的方式。
此外,在數據網絡傳輸存儲之前一定要確認接受信息一方的真實性,核實雙方信息是否匹配,一定要在雙方身份確認之后才能對網絡的數據信息進行發送和接受,這樣既避免了欺詐行為又確保了網絡中間不可信的因素存在使數據信息遭到破壞。
其次。確保備份數據的完整性。數據備份存儲不是一個簡單的過程,數據信息是通過設備和網絡之間傳輸來完成備份數據存儲的。這一個成必須要保障所傳輸的信息完整地被上傳而且這些數據信息不能被其他方攔截和篡改,以破壞備份數據信息的內容和屬性等。此外在存儲時也要保障數據信息的正確無誤完整保存。
大數據是對全球的數據量較大的一個概括,且每年的數據增長速度較快。而數據挖掘,主要是從多種模糊而又隨機、大量而又復雜且不規則的數據中,獲得有用的信息知識,從數據庫中抽絲剝繭、轉換分析,從而掌握其潛在價值與規律。所以大數據時代下的數據處理技術要求更高,要想確保數據處理成效得到提升,就必須切實加強數據挖掘技術教學工作的開展,才能更好地促進數據處理職能的轉變,提高數據處理效率,優化學生的學習成效。以下就大數據時代下的數據挖掘技術教學做出如下分析。
1大數據時代下數據挖掘技術的基礎教學方法分析
數據挖掘的過程實際就是對數據進行分析和處理,所以其基礎就在于數據的分析方法。要想確保分析方法的科學性,就必須確保所采用算法的科學性和可靠性,獲取數據潛在規律,并采取多元化的分析方法促進問題的解決和優化。以下就幾種常見的數據分析教學方法做出簡要的說明。一是歸類法,主要是將沒有指向和不確定且抽象的數據信息予以集中,并對集中后的數據實施分類整理和編輯處理,從而確保所形成的數據源具有特征一致、表現相同的特點,從而為加強對其的研究提供便利。所以這一分析方法能有效的滿足各種數據信息處理。二是關聯法,由于不同數據間存在的關聯性較為隱蔽,采取人力往往難以找出其信息特征,所以需要預先結合信息關聯的表現,對數據關聯管理方案進行制定,從而完成基于某種目的的前提下對信息進行處理,所以其主要是在一些信息處理要求高和任務較為復雜的信息處理工作之中。三是特征法,由于數據資源的應用范圍較廣,所以需要對其特征進行挖掘。也就是采用某一種技術,將具有相同特征的數據進行集中。例如采用人工神經網絡技術時,主要是對大批量復雜的數據分析,對非常復雜的模式進行抽取或者對其趨勢進行分析。而采取遺傳算法,則主要是對其他評估算法的適合度進行評估,并結合生物進化的原理,對信息數據的成長過程進行虛擬和假設,從而組建出半虛擬、半真實的信息資源。再如可視化技術則是為數據挖掘提供輔助,采取多種方式對數據的挖掘進行指導和表達[1]。
2大數據時代數據挖掘技術教學要點的分析
2.1數據挖掘技術流程分析
在數據挖掘教學過程中,其流程主要是以下幾點:首先做好數據準備工作,主要是在挖掘數據之前,就引導學生對目標數據進行準確的定位,在尋找和挖掘數據之前,必須知道所需數據類型,才能避免數據挖掘的盲目性。在數據準備時,應根據系統的提示進行操作,在數據庫中輸入檢索條件和目標,對數據信息資源進行分類和清理,以及編輯和預處理。其次是在數據挖掘過程中,由于目標數據信息已經被預處理,所以就需要在挖掘處理過程中將其高效正確的應用到管理機制之中,因而數據挖掘的過程十分重要,所以必須加強對其的處理。例如在數據挖掘中,引導學生結合數據挖掘目標要求,針對性的選取科學而又合適的計算和分析方法,對數據信息特征與應用價值等進行尋找和歸納。當然,也可以結合程序應用的需要,對數據區域進行固定,并在固定的數據區域內分類的挖掘數據,從而得到更具深度和內涵以及價值的數據信息資源,并就挖掘到的數據結果進行分析和解釋,從結果中將具有使用價值和意義的規律進行提取,并還原成便于理解的數據語言。最后是切實加強管理和計算等專業知識的應用,將數據挖掘技術實施中進行的總結和提取所獲得的數據信息與評估結果在現實之中應用,從而對某個思想、決策是否正確和科學進行判斷,最終體現出數據挖掘及時的應用價值,在激發學生學習興趣的同時促進教學成效的提升。
2.2挖掘后的數據信息資源分析
數據信息資源在挖掘后,其自身的職能作用將變得更加豐富,所以在信息技術環節下的數據挖掘技術隨著限定條件的變化,而將數據挖掘信息應用于技術管理和決策管理之中,從而更好地彰顯數據在經濟活動中的物質性質與價值變化趨勢,并結合數據變化特點和具體的表現規律,從而將數據信息的基本要素、質量特點、管理要求等展示出來,所以其表現的形式十分豐富。因而在數據挖掘之后的信息在職能范圍和表現形式方式均得到了豐富和拓展,而這也在一定程度上體現了網絡擬定目標服務具有較強的完整性,且屬于特殊的個體物品,同時也是對傳統數據挖掘技術的創新和發展,從而更好地滿足當前大數據時代對信息進行數據化的處理,并對不同種類業務進行整合和優化,從而促進數據挖掘技術服務的一體化水平。
2.3大數據背景下的數據挖掘技術的應用必須注重信息失真的控制
數據挖掘技術的信息主要是源于大數據和社會,所以在當前數據挖掘技術需求不斷加大的今天,為了更好地促進所挖掘數據信息的真實性,促進其個性化職能的發揮,必須在大數據背景下注重信息失真的控制,切實做好數據挖掘技術管理的各項工作。這就需要引導學生考慮如何確保數據挖掘技術在大數據背景下的職能得到有效的發揮,盡可能地促進數據挖掘技術信息資源的升級和轉型,以大數據背景為載體,促進整個業務和技術操作流程的一體化,從而更好地將所有數據資源的消耗和變化以及管理的科學性和有效性,這樣我們就能及時的找到資源的消耗源頭,從而更好地對數據資源的消耗效益進行評價,最終促進業務流程的優化,并結合大數據背景對數據挖掘技術的職能進行拓展,促進其外部信息與內部信息的合作,對數據挖掘技術信息的職能進行有效的控制,才能更好地促進信息失真的控制[2]。
3數據挖掘技術在不同行業中的應用實踐
學習的最終目的是為了更好的應用,隨著時代的發展,數據挖掘技術將在越來越多的行業中得以應用。這就需要高校教師引導學生結合實際需要強化對其的應用。例如在市場營銷行業中數據挖掘技術的應用這主要是因為數據挖掘能有效的解析消費者的消費行為和消費習慣,從而利用其將銷售方式改進和優化,最終促進產品銷量的提升。與此同時,通過對購物消費行為的分析,掌握客戶的忠誠度和消費意識等,從而針對性的改變營銷策略,同時還能找到更多潛在的客戶。再如在制造業中數據挖掘技術的應用,其目的就在于對產品質量進行檢驗。引導學生深入某企業實際,對所制造產品的數據進行研究,從而找出其存在的規則,并對其生產流程進行分析之后,對其生產的過程進行分析,從而更好地對生產質量的影響因素進行分析,并促進其效率的提升。換言之,主要就是對各種生產數據進行篩選,從而得出有用的數據和知識,再采取決策樹算法進行統計決策,并從中選取正確決策,從而更好地對產品在市場中的流行程度,決定生產和轉型的方向。再如在教育行業中數據挖掘技術的應用,主要是為了更好地對學習情況、教學評估和心里動向等數據進行分類和篩選,從而為學校的教學改革提供參考和支持。比如為了更好地對教學質量進行評估,就需要對教學質量有關項目進行整合與存儲,從而更好地促進其對教學質量的評估,而這一過程中,就需要采取數據挖掘技術對有關教學項目中的數據進行挖掘和處理,促進其應用成效的提升[3]。
4結語
綜上所述,在大數據背景下,數據挖掘技術已經在各行各業中得到了廣泛的應用,所以為了更好地滿足應用的需要,在實際教學工作中,我們必須引導學生切實加強對其特點的分析,并結合實際需要,切實注重數據挖掘技術的應用,才能促進其應用成效的提升,最終達到學以致用的目的。
作者:何智文 鄧倫丹 單位:南昌大學科學技術學院
參考文獻:
一、大數據
1.大數據產生的背景
大數據(Big Data),也稱巨量資料,指的是所涉及的資料量規模巨大到無法通過目前主流軟件工具,在合理時間內達到擷取、管理、處理、并整理成為幫助企業經營決策更積極目的資訊,通常被認為是PB或EB或更高數量級的數據。
互聯網絡從上世紀90年代開始,發展迅速,加快了信息傳播和共享的速度,尤其是一些社交網站的興起,數據量更是以前所未有的速度暴增,文字資料、聲音、視頻、圖像等多媒體數據鋪天蓋地。據資料顯示,上世紀90年代,互聯網資源不是很豐富的時代,網民月平均流量1MB左右,之后則快速增長,2000年后,逐漸發展為每月10MB、100MB、1GB,據估計2014年可能會達到10GB。淘寶網每日幾千萬筆交易,單日數據量達幾十TB,數據存儲量幾十PB,百度公司目前數據總量接近1000PB,存儲網頁數量接近1萬億頁,每天大約要處理60億次搜索請求,幾十PB數據。
隨著技術發展,大數據廣泛存在,如企業數據、統計數據、科學數據、醫療數據、互聯網數據、移動數據、物聯網數據等等。總之,大數據存在于各行各業,一個大數據的時代已經到來。
2.大數據時代的挑戰
大數據特點是容量在增長、種類在增長、速度也在增長,面臨如此龐大的數據量,數據的存儲和檢索面臨著巨大挑戰。比如2007年時,Facebook使用數據倉庫存儲15個TB的數據,但到了2010年,每天壓縮過的數據比過去總和還多,那時商業并行數據庫很少有超過100個節點以上的,而現在雅虎的Hadoop集群超過4000個節點,Facebook倉庫節點超過2700個。大量的數據現在已經開始影響我們整個的工作、生活、甚至經濟,如何存儲和高效利用這些數據是需要我們解決的。
二、關系數據庫
1.關系數據庫概述
關系型數據庫是支持關系模型的數據庫系統,他是目前各類數據庫中最重要,也是使用最廣泛的數據庫系統。關系型數據庫從上世紀70年代誕生到現在經過幾十年的發展,已經非常成熟,目前市場上主流的數據庫都為關系型數據庫,比較知名的有Oracle數據庫、DB2、Sybase、SQL Server等等。
2.關系數據庫優勢
關系數據庫相比其他模型的數據庫而言,有著以下優點:
模型容易理解:關系模型中的二維表結構非常貼近邏輯世界,相對于網狀、層次等其他模型來說更容易理解。
使用方便:通用的SQL語言使得操作關系型數據庫非常方便,只需使用SQL語言在邏輯層面操作數據庫,而完全不必理解其底層實現。
易于維護:豐富的完整性大大降低了數據冗余和數據不一致的概率。
3.關系數據庫存在問題
傳統的關系數據庫具有不錯的性能,穩定性高,歷經多年發展已日臻成熟,而且使用簡單,功能強大,也積累了大量的成功案例。上世紀90年代的互聯網領域,網站基本都是靜態網頁,主要以文字為主,訪問量也不大,當時用單個數據庫完全可以應對。可近幾年,動態網站隨處可見,各種論壇、博克、微博異常火爆,在大幅度提升交流方式的同時,用戶數據量迅速增長,處理事務性的數據關系數據庫得心應手,可面對互聯網的高并發、大數據量關系數據庫顯得力不從心,暴露了很多難以克服的問題:
數據庫高并發讀寫:高并發的動態網站數據庫并發負載非常高,往往要達到每秒上萬次甚至百萬次、千萬次的讀寫請求。關系數據庫應付上萬次SQL查詢沒問題,但是應付上百萬、千萬次SQL數據請求,硬盤IO就已經無法承受了。
海量數據的高效率訪問:一般大型數據庫在百萬級的數據庫表中檢索數據可達到秒級,但面對數億條記錄的數據庫表,檢索速度效率是極其低下,難以忍受的。
數據庫可擴展性和高可用性:基于web的架構當中,數據庫無法通過添加更多的硬件和服務節點來擴展性能和負載能力,對于很多需要提供24小時不間斷服務的網站來說,數據庫系統升級和擴展卻只能通過停機來實現,這無疑是一個艱難的決定。
三、NOSQL數據庫
1.NOSQL數據庫理論基礎
NOSQL作為新興數據庫系統概念,由于其具備處理海量數據的能力,近年來受到各大IT公司的追捧。Amazon、Google等大型網商已紛紛斥資進行研究并開發了適用的產品。談及NOSQL數據庫,首先應該了解支持NOSQL的理論:CAP理論、BASE思想和最終一致性。
(1)CAP理論
CAP理論由Eric Brewer在ACM PODC會議上的主題報告中提出,這個理論是NOSQL數據管理系統構建的基礎,CAP解釋為一致性(Consistency)、可用性(Availability)以及分區容忍性(Partition Tolerance)。具體描述如下:
強一致性(Consistency):系統在執行過某項操作后仍然處于一致的狀態。在分布式數據庫系統中,數據變更后所有的用戶都應該讀取到最新的值,這樣的系統被認為具有強一致性。
可用性(Availability):每一個操作都能夠在一定的時間內返回結果。“一定時間內”是指系統的結果必須在給定時間內返回,如果超時則被認為不可用,“返回結果”同樣非常重要,必須能提供成功或失敗的信息。
分區容錯性(Partition Tolerance):分區容錯性可以理解為系統在存在網絡分區的情況下仍然可以接受請求。
CAP是在分布式環境中設計和部署系統時所要考慮的三個重要的系統需求。根據CAP理論,數據共享系統只能滿足這三個特性中的兩個,不能同時滿足三個條件。因此系統設計者必須在這三個特性之間做出權衡。例如Amazon的Dynamo具有高可用性和分區容錯性但不支持強一致性,也就是說用戶不能立即看到其他用戶更新的內容。
(2)BASE思想
BASE(Basically Availble),基本可用,強調數據庫的最終一致(Eventually consistent最終一致,最終數據一致就可以,而不是時時高一致),不同于傳統關系數據庫基于的ACID模型。
ACID特性與高性能是不兼容的。比如,在網店買東西,每個客戶買東西時都會通過鎖來同步數據操作,操作完成每個客戶都可以看到一致的數據。也就是說,不允許多個客戶同時買的情況。很明顯對于大多數網上商城,尤其是大型網商來說,這個方法并不適用。
BASE思想實際上是CAP理論中AP的衍伸。通過犧牲高一致性,保證高可用性和分區容忍性。BASE思想的組成有以下3個部分:基本可用、軟狀態、最終一致性。BASE模式指的是一個應用在任意時間首先應該能完成最基本化的工作(即基本可用),并不需要總是一致(即軟狀態),但最終應該是一致(即最終一致性)的。
(3)最終一致性
數據一致性可分別從使用者和提供者角度看:從使用者的角度,如何觀察數據更新;從提供者的角度,也就是服務器端,更新如何在系統中實現。
一致性可分為強一致性和弱一致性兩種:強一致性要求更新過的數據能被后續的訪問都看到,根據CAP理論,強一致性無法和可用性、分區容忍性同時實現;弱一致性,指讀取操作能夠見到變化的數據,但不是所有變化的數據。
最終一致性屬于弱一致性的一種,即存儲系統保證如果沒有新的更新提交,最終所有的訪問都將獲得最后的更新。如果沒有故障發生,不一致性取決于通信時延、系統負載以及復制策略中涉及的副本數。
2.NOSQL數據庫產品
NOSQL(Not Only SQL)數據庫是指那些非關系型的數據庫。NOSQL數據庫分為Key-Value、Key-Document和Key-Column這3類。典型的NOSQL產品有Google的BigTable、基于Hadoop HDFS的HBase、Amazon的Dynamo、CouchDB、MongoDB、Redis等。
NOSQL數據庫遵循CAP理論和BASE原則,大部分Key-Value數據庫系統都會根據自己的設計目的進行相應的選擇,如Cassandra、Dynamo滿足AP,BigTable、MongoDB滿足CP。
四、結束語
本文首先介紹了大數據概念,分析了關系數據庫在存儲大數據量方面的不足,并介紹了當前NOSQL數據庫的基本理論和當前產品分類。大數據時代的來臨,我們忙于如何存儲和處理這些數據,但隨著計算機互聯網、移動互聯網、物聯網等網絡的快速發展,數據量會持續大幅增長,如何長期保存這些數據以及如何處理更大級別的數據量,都需要我們思考并解決。
參考文獻
[1]王珊,王會舉,覃雄派等.架構大數據:挑戰、現狀與展望[J].計算機學報,2011(34).
[2]黃賢立.NOSQL非關系型數據庫的發展及應用初探[J].福建電腦,2010(7):30.
一、引言
大數據時代,原有的信息資源處理手段已經不適應迅速增大的數據量級。大數據依托網絡技術,采用數據挖掘、關聯分析等技術手段對分布式存儲的異構海量數據進行處理。無論是網絡環境、計算平臺、還是存儲載體,都分屬不同的信息系統。大數據進一步加劇了網絡空間中防御與攻擊的不對稱性,大數據信息安全主要體現在處理系統、過程的安全,而傳統的信息安全防護措施多集中在“封堵查殺”層面,難以應對大數據時代的信息安全挑戰。因此應加快構建多層次、高質量的大數據縱深防御體系結構。加強大數據信息安全保障能力,是解決大數據安全的唯一出路。
二、大數據安全挑戰
基于大數據環境下所帶來的安全挑戰包括:
1、應用安全防護:大數據環境下的應用防護風險,包括資源濫用、拒絕服務攻擊、不安全集成模塊或API接口及WEB安全;2、虛擬化環境安全:基于云計算和虛擬化技術的云計算數據中心為大數據提供了一個開放的環境,分布在不同地區的資源可以快速整合,動態配置,實現數據集合的共建共享。網絡訪問便捷化和數據流的形成,為實現資源的快速彈性推送和個性化服務提供基礎。然而平臺的暴露,使得蘊含著海量數據和潛在價值的大數據更容易吸引黑客的攻擊。虛擬化環境安全成為大數據安全的重要威脅。3、移動接入安全:BYOD-移動接入安全,包括身份假冒和信息劫持等。4、安全與大數據融合:惡意的內部員工和數據隱私保護面臨威脅。
本文分別從上面四個方面來分析大數據安全技術體系的建設辦法,構建大數據縱深防御體系結構。
三、大數據安全技術體系
大數據應用安全防護主要在應用防護區部署虛擬化綜合安全設備,包括DDOS、防火墻、IPS和WEB防火墻(WAF)等,同時部署漏洞分析系統,進行安全評估和滲透測試。
大數據虛擬化環境安全主要通過虛擬化防火墻TopVSP(Vgate、TAE、TD)和虛擬機管理器安全,即外部防火墻。實現虛擬化環境的性能優化和安全策略遷移等。
移動接入安全從下到上分為統一接入控制、數據安全及威脅防護和全生命周期設備管理三層。其中統一接入控制層在終端接入區使用身份認證及授權和虛擬應用及虛擬桌面,在網絡接入區使用VPN加密,在業務服務區使用遠程鎖定、數據擦除、備份與恢復、GPS定位和自動報警燈管理器后動來實現。全生命周期設備管理包括資產接入、部署、運行和銷毀全流程管理,資產接入包括資產的發現、注冊和初始化;資產部署主要包括安全基線制定和配置及策略執行;資產運行包括資產的掛失、鎖定、密碼重置、定位、備份與恢復、報警等;數據銷毀采用遠程應用卸載和數據擦除等技術。