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