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