中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

干貨 | 大數(shù)據(jù)處理技術(shù)的總結(jié)與分析

2018-07-20    來(lái)源:raincent

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

一 數(shù)據(jù)分析處理需求分類

1 事務(wù)型處理

在我們實(shí)際生活中,事務(wù)型數(shù)據(jù)處理需求非常常見,例如:淘寶網(wǎng)站交易系統(tǒng)、12306網(wǎng)站火車票交易系統(tǒng)、超市POS系統(tǒng)等都屬于事務(wù)型數(shù)據(jù)處理系統(tǒng)。

這類系統(tǒng)數(shù)據(jù)處理特點(diǎn)包括以下幾點(diǎn):

一是事務(wù)處理型操作都是細(xì)粒度操作,每次事務(wù)處理涉及數(shù)據(jù)量都很小。

二是計(jì)算相對(duì)簡(jiǎn)單,一般只有少數(shù)幾步操作組成,比如修改某行的某列;

三是事務(wù)型處理操作涉及數(shù)據(jù)的增、刪、改、查,對(duì)事務(wù)完整性和數(shù)據(jù)一致性要求非常高。

四是事務(wù)性操作都是實(shí)時(shí)交互式操作,至少能在幾秒內(nèi)執(zhí)行完成;

五是基于以上特點(diǎn),索引是支撐事務(wù)型處理一個(gè)非常重要的技術(shù)。

在數(shù)據(jù)量和并發(fā)交易量不大情況下,一般依托單機(jī)版關(guān)系型數(shù)據(jù)庫(kù),例如ORACLE、MYSQL、SQLSERVER,再加數(shù)據(jù)復(fù)制(DataGurad、 RMAN、MySQL數(shù)據(jù)復(fù)制等)等高可用措施即可滿足業(yè)務(wù)需求。

在數(shù)據(jù)量和并發(fā)交易量增加情況下,一般可以采用ORALCE RAC集群方式或者是通過硬件升級(jí)(采用小型機(jī)、大型機(jī)等,如銀行系統(tǒng)、運(yùn)營(yíng)商計(jì)費(fèi)系統(tǒng)、證卷系統(tǒng))來(lái)支撐。

事務(wù)型操作在淘寶、12306等互聯(lián)網(wǎng)企業(yè)中,由于數(shù)據(jù)量大、訪問并發(fā)量高,必然采用分布式技術(shù)來(lái)應(yīng)對(duì),這樣就帶來(lái)了分布式事務(wù)處理問題,而分布式事務(wù)處理很難做到高效,因此一般采用根據(jù)業(yè)務(wù)應(yīng)用特點(diǎn)來(lái)開發(fā)專用的系統(tǒng)來(lái)解決本問題。

2 數(shù)據(jù)統(tǒng)計(jì)分析

數(shù)據(jù)統(tǒng)計(jì)主要是被各類企業(yè)通過分析自己的銷售記錄等企業(yè)日常的運(yùn)營(yíng)數(shù)據(jù),以輔助企業(yè)管理層來(lái)進(jìn)行運(yùn)營(yíng)決策。典型的使用場(chǎng)景有:周報(bào)表、月報(bào)表等固定時(shí)間提供給領(lǐng)導(dǎo)的各類統(tǒng)計(jì)報(bào)表;市場(chǎng)營(yíng)銷部門,通過各種維度組合進(jìn)行統(tǒng)計(jì)分析,以制定相應(yīng)的營(yíng)銷策略等。

數(shù)據(jù)統(tǒng)計(jì)分析特點(diǎn)包括以下幾點(diǎn):

一是數(shù)據(jù)統(tǒng)計(jì)一般涉及大量數(shù)據(jù)的聚合運(yùn)算,每次統(tǒng)計(jì)涉及數(shù)據(jù)量會(huì)比較大。

二是數(shù)據(jù)統(tǒng)計(jì)分析計(jì)算相對(duì)復(fù)雜,例如會(huì)涉及大量goupby、 子查詢、嵌套查詢、窗口函數(shù)、聚合函數(shù)、排序等;有些復(fù)雜統(tǒng)計(jì)可能需要編寫SQL腳本才能實(shí)現(xiàn)。

三是數(shù)據(jù)統(tǒng)計(jì)分析實(shí)時(shí)性相對(duì)沒有事務(wù)型操作要求高。但除固定報(bào)表外,目前越來(lái)越多的用戶希望能做做到交互式實(shí)時(shí)統(tǒng)計(jì);

傳統(tǒng)的數(shù)據(jù)統(tǒng)計(jì)分析主要采用基于MPP并行數(shù)據(jù)庫(kù)的數(shù)據(jù)倉(cāng)庫(kù)技術(shù)。主要采用維度模型,通過預(yù)計(jì)算等方法,把數(shù)據(jù)整理成適合統(tǒng)計(jì)分析的結(jié)構(gòu)來(lái)實(shí)現(xiàn)高性能的數(shù)據(jù)統(tǒng)計(jì)分析,以支持可以通過下鉆和上卷操作,實(shí)現(xiàn)各種維度組合以及各種粒度的統(tǒng)計(jì)分析。

另外目前在數(shù)據(jù)統(tǒng)計(jì)分析領(lǐng)域,為了滿足交互式統(tǒng)計(jì)分析需求,基于內(nèi)存計(jì)算的數(shù)據(jù)庫(kù)倉(cāng)庫(kù)系統(tǒng)也成為一個(gè)發(fā)展趨勢(shì),例如SAP的HANA平臺(tái)。

3 數(shù)據(jù)挖掘

數(shù)據(jù)挖掘主要是根據(jù)商業(yè)目標(biāo),采用數(shù)據(jù)挖掘算法自動(dòng)從海量數(shù)據(jù)中發(fā)現(xiàn)隱含在海量數(shù)據(jù)中的規(guī)律和知識(shí)。

數(shù)據(jù)挖掘主要過程是:根據(jù)分析挖掘目標(biāo),從數(shù)據(jù)庫(kù)中把數(shù)據(jù)提取出來(lái),然后經(jīng)過ETL組織成適合分析挖掘算法使用寬表,然后利用數(shù)據(jù)挖掘軟件進(jìn)行挖掘。傳統(tǒng)的數(shù)據(jù)挖掘軟件,一般只能支持在單機(jī)上進(jìn)行小規(guī)模數(shù)據(jù)處理,受此限制傳統(tǒng)數(shù)據(jù)分析挖掘一般會(huì)采用抽樣方式來(lái)減少數(shù)據(jù)分析規(guī)模。

數(shù)據(jù)挖掘的計(jì)算復(fù)雜度和靈活度遠(yuǎn)遠(yuǎn)超過前兩類需求。一是由于數(shù)據(jù)挖掘問題開放性,導(dǎo)致數(shù)據(jù)挖掘會(huì)涉及大量衍生變量計(jì)算,衍生變量多變導(dǎo)致數(shù)據(jù)預(yù)處理計(jì)算復(fù)雜性;二是很多數(shù)據(jù)挖掘算法本身就比較復(fù)雜,計(jì)算量就很大,特別是大量機(jī)器學(xué)習(xí)算法,都是迭代計(jì)算,需要通過多次迭代來(lái)求最優(yōu)解,例如K-means聚類算法、PageRank算法等。

因此總體來(lái)講,數(shù)據(jù)分析挖掘的特點(diǎn)是:

1、數(shù)據(jù)挖掘的整個(gè)計(jì)算更復(fù)雜,一般是由多個(gè)步驟組成計(jì)算流,多個(gè)計(jì)算步驟之間存在數(shù)據(jù)交換,也就是會(huì)產(chǎn)生大量中間結(jié)果,難以用一條sql語(yǔ)句來(lái)表達(dá)。

2、計(jì)算應(yīng)該能夠非常靈活表達(dá),很多需要利用高級(jí)語(yǔ)言編程實(shí)現(xiàn)。

二 大數(shù)據(jù)背景下事務(wù)型處理系統(tǒng)相關(guān)技術(shù)

在google、facebook、taobao等大互聯(lián)網(wǎng)公司出現(xiàn)之后,這些公司注冊(cè)和在線用戶數(shù)量都非長(zhǎng)大,因此該公司交易系統(tǒng)需要解決“海量數(shù)據(jù)+高并發(fā)+數(shù)據(jù)一致性+高可用性”的問題。

為了解決該問題,從目前資料來(lái)看,其實(shí)沒有一個(gè)通用的解決方案,各大公司都會(huì)根據(jù)自己業(yè)務(wù)特點(diǎn)定制開發(fā)相應(yīng)的系統(tǒng),但是常用的思路主要包括以下幾點(diǎn):

(1)數(shù)據(jù)庫(kù)分片,結(jié)合業(yè)務(wù)和數(shù)據(jù)特點(diǎn)將數(shù)據(jù)分布在多臺(tái)機(jī)器上。

(2)利用緩存等機(jī)制,盡量利用內(nèi)存,解決高并發(fā)時(shí)遇到的隨機(jī)IO效率問題。

(3)結(jié)合數(shù)據(jù)復(fù)制等技術(shù)實(shí)現(xiàn)讀寫分離,以及提高系統(tǒng)可用性。

(4)大量采用異步處理機(jī)制,對(duì)應(yīng)高并發(fā)沖擊。

(5)根據(jù)實(shí)際業(yè)務(wù)需求,盡量避免分布式事務(wù)。

1相關(guān)系統(tǒng)介紹

1) 阿里CORBAR系統(tǒng)

阿里COBAR系統(tǒng)是一個(gè)基于MYSQL數(shù)據(jù)庫(kù)的分布式數(shù)據(jù)庫(kù)系統(tǒng),屬于基于分布式數(shù)據(jù)庫(kù)中間件的分布式數(shù)據(jù)庫(kù)系統(tǒng)。該系統(tǒng)是前身是陳思儒開發(fā)的“變形蟲”系統(tǒng)(以前調(diào)研過),由于陳思儒離開阿里去了盛大,阿里當(dāng)心“變形蟲”穩(wěn)定性等問題,重新開發(fā)該項(xiàng)目。

該系統(tǒng)主要采用數(shù)據(jù)庫(kù)分片思路,實(shí)現(xiàn)了:數(shù)據(jù)拆分、讀寫分離、復(fù)制等功能。由于此系統(tǒng)由于只需要滿足事務(wù)型操作即可,因此相對(duì)真正并行數(shù)據(jù)庫(kù)集群(例如TeraData等),此類系統(tǒng)提供操作沒有也不需要提供一些復(fù)雜跨庫(kù)處理,因此該系統(tǒng)存在以下限制:

(1)不支持跨庫(kù)的join、分頁(yè)、排序、子查詢。

(2)insert等變更語(yǔ)句必須包括拆分字段等。

(3)應(yīng)該不支持跨機(jī)事務(wù)(以前變形蟲不支持)。

說白了此類系統(tǒng)不具備并行計(jì)算能力,基本上相當(dāng)于數(shù)據(jù)庫(kù)路由器!

另外此類系統(tǒng)的在實(shí)際應(yīng)用的關(guān)鍵問題是,根據(jù)什么對(duì)數(shù)據(jù)進(jìn)行切分,因?yàn)榍蟹植缓脮?huì)導(dǎo)致分布式的事務(wù)問題。

2) 阿里OceanBase系統(tǒng)

該系統(tǒng)也是淘寶為了解決高并發(fā)、大數(shù)據(jù)環(huán)境下事務(wù)型處理而定制開發(fā)的一個(gè)系統(tǒng)。該系統(tǒng)主要思路和特點(diǎn)如下:

(1)他們發(fā)現(xiàn)在實(shí)際生成環(huán)境中,每天更新的數(shù)據(jù)只占總體數(shù)據(jù)的1%不到,因此他們把數(shù)據(jù)分為:基線數(shù)據(jù)和增量更新數(shù)據(jù)。

(2)基線數(shù)據(jù)是靜態(tài)數(shù)據(jù),采用分布式存儲(chǔ)方式進(jìn)行存儲(chǔ)。

(3)只在一臺(tái)服務(wù)器上存儲(chǔ)和處理增量更新數(shù)據(jù),并且是在內(nèi)存中存儲(chǔ)和處理更新數(shù)據(jù)。

(4)在系統(tǒng)負(fù)載輕的時(shí)候,把增量更新批量合并到基線數(shù)據(jù)中。

(5)數(shù)據(jù)訪問時(shí)同時(shí)訪問基線數(shù)據(jù)和增量更新數(shù)據(jù)并合并。

因此這樣好處是:

(1)讀事務(wù)和寫事務(wù)分離
(2)通過犧牲一點(diǎn)擴(kuò)展性(寫是一個(gè)單點(diǎn)),來(lái)避免分布式事務(wù)處理。

說明:該系統(tǒng)雖然能處理高并發(fā)的事務(wù)型處理,號(hào)稱很牛逼,但其實(shí)也只是根據(jù)電商的事務(wù)處理來(lái)定制開發(fā)的專用系統(tǒng),個(gè)人認(rèn)為其技術(shù)難度小于oracle等通用型的數(shù)據(jù)庫(kù)。該系統(tǒng)無(wú)法應(yīng)用到銀行或者12306等,因?yàn)槠涫聞?wù)處理的邏輯遠(yuǎn)遠(yuǎn)比電商商品買賣處理邏輯復(fù)雜。

在目前的大數(shù)據(jù)時(shí)代,一定是基于應(yīng)用定制才能找到好的解決方案!

3) 基于Hbase的交易系統(tǒng)

在hadoop平臺(tái)下,HBASE數(shù)據(jù)庫(kù)是一個(gè)分布式KV數(shù)據(jù)庫(kù),屬于實(shí)時(shí)數(shù)據(jù)庫(kù)范疇。支付寶目前支付記錄就是存儲(chǔ)在HBASE數(shù)據(jù)庫(kù)中。

HBASE數(shù)據(jù)庫(kù)接口是非SQL接口,而是KV操作接口(基于Key的訪問和基于key范圍的scan操作),因此HBASE數(shù)據(jù)庫(kù)雖然可擴(kuò)展性非常好,但是由于其接口限制導(dǎo)致該數(shù)據(jù)庫(kù)能支持上層應(yīng)用很窄。基于HBASE應(yīng)用的設(shè)計(jì)中,關(guān)鍵點(diǎn)是key的設(shè)計(jì),要根據(jù)需要支持的應(yīng)用來(lái)設(shè)計(jì)key的組成。

可以認(rèn)為HBASE數(shù)據(jù)庫(kù)只支持作為KEY的這一列的索引。雖然目前HBASE有支持二級(jí)索引的方案,二級(jí)索引維護(hù)將會(huì)比較麻煩。

2并發(fā)和并行區(qū)別

并發(fā)是指同時(shí)執(zhí)行通常不相關(guān)的各種任務(wù),例如交易型系統(tǒng)典型屬于高并發(fā)系統(tǒng)。

并行是通過將一個(gè)很大的計(jì)算任務(wù),劃分為多個(gè)小的計(jì)算任務(wù),然后多個(gè)小計(jì)算任務(wù)的并行執(zhí)行,來(lái)縮短該計(jì)算任務(wù)計(jì)算時(shí)間。

兩者主要區(qū)別在于:

(1)通訊與協(xié)調(diào)方面:在并行計(jì)算中,由于多個(gè)小任務(wù)同屬一個(gè)大的計(jì)算任務(wù),因此小任務(wù)之間存在依賴關(guān)系,小任務(wù)之間需要大量通訊和協(xié)調(diào);相反,并發(fā)中的多個(gè)任務(wù)之間基本相互獨(dú)立,任務(wù)與任務(wù)之間相關(guān)性很小。

(2)容錯(cuò)處理方面:由于并發(fā)任務(wù)之間相互獨(dú)立,某個(gè)任務(wù)執(zhí)行失敗并不會(huì)影響其它的任務(wù)。但是并行計(jì)算中的多個(gè)任務(wù)屬于一個(gè)大任務(wù),因此某個(gè)子任務(wù)的失敗,如果不能恢復(fù)(粗粒度容錯(cuò)與細(xì)粒度容錯(cuò)),則整個(gè)任務(wù)都會(huì)失敗。

3本章總結(jié)

數(shù)據(jù)量大不一定需要并行計(jì)算,雖然數(shù)據(jù)量大,數(shù)據(jù)是分布存儲(chǔ),但是如果每次操作基本上還是針對(duì)少量數(shù)據(jù),因此每次操作基本上都是在一臺(tái)服務(wù)器上完成,不涉及并行計(jì)算。只是需要通過數(shù)據(jù)復(fù)制、數(shù)據(jù)緩存、異步處理等方式來(lái)支撐高并發(fā)訪問量

標(biāo)簽: Google Mysql 大數(shù)據(jù) 大數(shù)據(jù)時(shí)代 電商 服務(wù)器 互聯(lián)網(wǎng) 互聯(lián)網(wǎng)公司 互聯(lián)網(wǎng)企業(yè) 腳本 數(shù)據(jù)分析 數(shù)據(jù)庫(kù)

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:你很懂大數(shù)據(jù),但是真的懂大數(shù)據(jù)營(yíng)銷嗎?

下一篇:一份AI博士生的ICML2018“學(xué)霸”筆記(55頁(yè))