李卓然
摘 要 隨著經濟的發展和社會的進步,計算機技術逐漸豐富人們的生活,大數據分析技術作為近幾年興起的一項高科技,能夠智能存儲豐富的數據資源,數據的產生以及更新的速度逐漸加快,數據的種類也相對繁多。通過對大數據進行分析,能夠發掘其中存在的政治、經濟以及文化資源和社會價值,對于企業來說,能夠存儲于客戶之間的大量的信息,從而提升經濟價值,加速社會生活的運轉,從而促進時代的進步。本文主要研究大數據系統中的主要分支,并分析其具體的應用。
【關鍵詞】大數據分析 系統 高速 數據更新
大數據概念的逐漸興起,帶動了各大行業的發展和更新,那么大數據的具體概念究竟是什么,書中的解釋是一般的軟件難以概括和捕捉和分析的較大容量的數據,更大的意義是在于能夠通過交換、整合海量的數據,發掘新的知識,從而創造更大的價值。大數據系統中包含倉儲數據系統、圖形處理系統、日志數據處理系統以及MapReduce數據系統等等。本文通過分析其中主要的幾個數據處理系統中的差異和共性,分析大數據分析中的主要應用。
1 大數據分析系統中的Velocity
1.1 事物的處理系統
事物處理系統是傳統的商業數據庫中主要的應用軟件之一,必須要支持大量的并存用戶,由于每一位用戶操作時所讀取的數據只占其中的一小部分,并且會隨機的分布在每一個數據系統中。例如在銀行的存款中,每天都有成千上萬的客戶利用自動取款機或是人工服務進行交易,每一位客戶對自己的銀行賬號進行操作,對于銀行的整個數據系統中是極為微小的一部分,,是隨機分布在各個銀行的數據之內的。因此在大數據的時代,隨著科學技術的不斷普及,事物處理的規模和程度也就不斷地加大。
在事物處理的系統當中,velocity是數據系統設計中的主要核心,引導每一位客戶對其自身的業務進行準確的操作,同時需要盡可能的支持更多的并發業務,在實際的系統中,TPC-C與TPC-E是測試事物處理效率的主要依據。許多數據分析企業簡化了數據分析的步驟,這樣雖然能夠從一定程度上減少分析的成本,提升的分析的性能,但是為了能夠實現更多的分析應用,促進大數據系統的高效運行,需要程序員逐一解決實際的分析問題,將研究的重點放到ACID上。
1.2 數據流的系統
向較與事物處理系統,數據流系統的主要任務是分析流過系統中的主要數據,在每一條流過的數據中,計算出事先定義好的查詢運算,例如差異監測、統計運算、復雜事件處理等等,系統中的運算需要連續不斷的進行,由于不需要對數據進行大面積的存儲,因此流過的數據也就是無限量的。我國數據流系統最早出現于20世紀末,最開始被應用于電信流量監控以及交通情況分析等等。同時與實務處理系統相似的是,數據流系統的核心任務也是velocity,其更加注重的是對于數據系統的吞吐量控制,單位時間內流過的數據量能夠方便系統的儲存,另一方面能夠實現更多的惡吞吐率。
1.3 大數據分析系統
大數據的分析是確保數據價值的主要途徑,通過對海量的數據進行分析,能夠基本的總結出數據中蘊藏的規律,從而能夠更好地理解現實,對未來的事件進行預測。大數據系分析系統與事件處理系統與數據流系統存在一定的差異,與事件處理系統相比,大數據分析系統只為極少數的客戶進行服務,例如公司的數據分析師、決策人員以及對數據進行分析的管理人員,并發的用戶量小于數據的處理系統,但是對于系統進行的數據處理工作并不少于事件處理系統;向較于數據流系統大數據分析系統能夠處理系統中所存儲的數據,而不是處理流動中的數據,雖然數據不一定 能夠全部放入內存,但是大部分系統需要利用外部處理器進行處理。
在大數據的時代之下,velocity的作用越來越突出,數據通過不斷產生、流通并加載到數據系統中,從靜態的角度分析和優化數據分析系統存在一定的問題,首先是無法反應并及時更新數據,難以適應眾多的在線應用需求;其次,靜止的狀態可能會受到數據更新的干擾,數據分析的性能無法得到最大程度的發揮。因此程序員在設計大數據分析系統的過程中,不僅要注重數據操作的本身,還應該理清整個數據分析的生命周期,從而使其設計理念充分發揮在系統應用中。
2 在數據系統倉儲中高速數據的更新
2.1 傳統的數據更新對數據分析操作的影響
分析數據系統中的查詢工作,在硬盤上進行數據的順序閱讀,一般情況下,常規的數據順序讀性可能會達到100MBps,相對于傳統的數據更新對數據頁面進行數據的錄入和插入以及修改等操作,數據的訪問也比較符合前段系統的數據特征,基本上也是隨機進行的。同時由于技術水平的限制,大多數硬盤只能支持每秒一百次的隨機訪問,系統運行的效率大打折扣。再加上隨機訪問可能會干擾良好的數據信號,在操作的過程中,需要不斷更換硬盤的磁頭才能進行后續的工作,因此也在一定程度上降低了數據分析的可能性。
2.2 在線高速數據更新的設計目標
在進行設計的過程中,需要準備固態硬盤、硬盤以及內存三種設備,主要的數據內容依然存放于硬盤中,并在系統中增加少許的固態硬盤,用來暫時存儲臨時更新的數據,利用這樣的形式,能夠有效的降低系統更新對數據查詢的影響,由于固態硬盤的容量也比較小,因此其成本也相對較低。系統中的每一條數據都需要包含其主鍵、操作流程以及更新后的數值。因此需要在內存緩沖之前及時進行更新數據,當緩沖完成之后,將數據的更新記錄錄入在固態的硬盤中,在讀入的數據系統中記錄插入和修改的操作,從而產生最新的數據信息。
為了完成上述的操作,需要保證幾個設計的前提:
(1)對查詢的結果影響小,這是主要的設計目標,在具體的算法設計中,利用固態硬盤的特征,減少線上更新對數據查詢操作的影響;
(2)內存的占用較少,內存的大小可能會影響運算的性能,首先內存能夠用于數據的緩存,減少不必要的操作,其次,以排序作為基礎的算法,對于內存的大小不同,算法的性能可能會出現很大的變化,因此當數據能夠完整的納入內存之中時,利用計算方法只需要讀取以此數據,就能夠計算出具體的內存容量,從而減少對于內存的占用,提升數據內存的可靠性能;
(3)高效的遷移和操作,從時間方面來看,以前積累的大量數據記錄,每一頁的主數據中可能會存在一些新的更新記錄,而不是隨機的抽取,在空間的數據方面,數據的遷移能夠隨時空間的轉移進行更新,因此只需要使用少量的硬盤空間,就能存儲大量的更新數據。
2.3 MaSM算法
在數據更新系統和固態硬盤中加入兩層數據結構,歸納并操作時,需要將數據更新的記錄按照主鍵的順序進行排列組合,并簡化外部內存的排列程序,當緩沖完成之后,算法對緩沖區域中的數據更新記錄進行修改,從而將排序之后的數據更新記錄記載在固態的硬盤中,編寫一個新的文件,之后便不再系修改。對于主鍵范圍之內的數據查詢工作,需要創建一個table range scan造作的運算部件,將數據更新記錄的數值范圍精確到固定的區域之內,使程序員能夠及時并便捷的找到數據更新的差異和規律,從而對整個大數據分析提供有一個準確的把握。
3 高性能日志處理系統:LogKV
3.1 LogKV系統結構分析
鍵值系統能夠靈敏地表現多種類型日記的信息和記錄,并能夠提供可靠的數據存儲資源,系統由一個調節的管理支點和多個工作的節點通過數據中心的網絡系統連接在一起,每一個工作的系統都由兩個子系統構成,IngestKV是鍵值存儲的子系統,使日志能夠順利的緩沖和收集,并實現系統的設計理念和設計目標。
3.2 從日志的數據源到系統的映射
需要管理員盡可能的平衡各個節點之間的日志數據流量,優化獲取日志的方法,首先,日志的數據源能夠運行LogKV的代理程序,進行直接收集日志資源,由網絡信號進行數據的發送和傳播;其次,日志的數據源能夠通過配置遠程的端口和服務器,將日志的數據直接發送到實際的運行系統中,從而促進整個系統的高效運行;最后,日志的數據源能夠將數據寫入到本地的文件中,并通過文件傳輸的協議,產品能夠數據源中獲取到數據文件。
4 總結
綜上所述可知,隨著經濟的發展和社會的進步,科學技術水平也得到大幅的提升,為了能夠跟進時代的步伐,體驗科技的成果,采用大數據分析以及高速更新數據更新的技術,不僅能夠提升人們的生活質量,加快社會進步的腳步,同時也能夠促進我國的科技軟實力,從而在激烈的國際競爭中找到一席之地。因此程序員在進行數據分析的過程中,需要充分了解設計的內涵,確立在線高速數據更新的設計目標,從而方便大數據的存儲和運行。
參考文獻
[1]陳世敏.大數據分析與高速數據更新[J]. 計算機研究與發展,2015(02):333-342.
[2]劉中亞.正視大數據——淺析基于大數據分析的高速公路運營管理[J].中國公路,2014(23):108-111.
[3]杜玉輝,蔣姣麗.大數據背景:高速公路收費系統數據的現狀、分析與展望[J]. 電腦知識與技術,2012(15):3752-3754.
作者單位
西安文理學院 陜西省西安市 710065