傳統(tǒng)企業(yè)的OLAP幾乎都是基于關(guān)系型數(shù)據(jù)庫,在面臨“大數(shù)據(jù)”分析瓶頸,甚至實時數(shù)據(jù)分析的挑戰(zhàn)時,在架構(gòu)上如何應(yīng)對?本文試擬出幾個大數(shù)據(jù)OLAP平臺的設(shè)計要點,意在拋磚引玉。
突破設(shè)計原則
建設(shè)企業(yè)的大數(shù)據(jù)管理平臺(Big?Data?Management?Platform),第一個面臨的挑戰(zhàn)來自歷史數(shù)據(jù)結(jié)構(gòu),以及企業(yè)現(xiàn)有的數(shù)據(jù)庫設(shè)計人員的觀念、原則。數(shù)據(jù)關(guān)系、ACID在關(guān)系數(shù)據(jù)庫幾十年的統(tǒng)治時期是久得人心,不少開發(fā)人員都有過為文檔、圖片設(shè)計數(shù)據(jù)表,或?qū)⑽臋n、圖片序列化為二進(jìn)制文件存入關(guān)系數(shù)據(jù)庫的經(jīng)歷。在BDMP之上,我們需要對多種不同的格式的數(shù)據(jù)進(jìn)行混合存儲,這就必須意識到曾經(jīng)的原則已經(jīng)不再適用——One?size?dosen’t?fit?all,新的原則——One?size?fits?a?bunch.
以下是我列出的一些NoSQL數(shù)據(jù)庫在設(shè)計上的模式:
文檔數(shù)據(jù)庫:數(shù)據(jù)結(jié)構(gòu)是類JSON,可以使用嵌入(Embed)或文檔引用(Reference)的方式來為兩個不同的文檔對象建立關(guān)系;
列簇數(shù)據(jù)庫:基于查詢進(jìn)行設(shè)計,有寬行(Wild?Rows)和窄行(Skinny?Rows)的設(shè)計決策;
索引數(shù)據(jù)庫:基于搜索進(jìn)行設(shè)計,在設(shè)計時需要考慮對對每個字段內(nèi)容的處理(Analysis)。
搜索和查詢的區(qū)別在于,對返回內(nèi)容的排序,搜索引擎?zhèn)戎赜谖谋痉治龊完P(guān)鍵字權(quán)重的處理上,而查詢通常只是對數(shù)據(jù)進(jìn)行單列或多列排序返回即可。
數(shù)據(jù)存儲的二八原則
不少企業(yè)在解決海量數(shù)據(jù)存儲的問題上,要么是把關(guān)系數(shù)據(jù)庫全部往Hadoop上一導(dǎo)入,要么是把以前的非結(jié)構(gòu)化數(shù)據(jù)如日志、點擊流往NoSQL數(shù)據(jù)庫中寫入,但最后往往發(fā)現(xiàn)前者還是無法解決大數(shù)據(jù)分析的性能瓶頸,后者也無法回答數(shù)據(jù)如何發(fā)揮業(yè)務(wù)價值的問題。
在數(shù)據(jù)的價值和使用上,其實也存在著二八原則:
20%的數(shù)據(jù)發(fā)揮著80%的業(yè)務(wù)價值;
80%的數(shù)據(jù)請求只針對20%的數(shù)據(jù)。
目前來看,不管是數(shù)據(jù)存儲處理、分析還是挖掘,最完整和成熟的生態(tài)圈還是基于關(guān)系型數(shù)據(jù)庫,比如報表、聯(lián)機(jī)分析等工具;另外就是數(shù)據(jù)分析人員更偏重于查詢分析語言如SQL、R、Python數(shù)據(jù)分析包而不是編程語言。
企業(yè)大數(shù)據(jù)平臺建設(shè)的二八原則是,將20%最有價值的數(shù)據(jù)——以結(jié)構(gòu)化的形式存儲在關(guān)系型數(shù)據(jù)庫中供業(yè)務(wù)人員進(jìn)行查詢和分析;而將80%的數(shù)據(jù)——以非結(jié)構(gòu)化、原始形式存儲在相對廉價的Hadoop等平臺上,供有一定數(shù)據(jù)挖掘技術(shù)的數(shù)據(jù)分析師或數(shù)據(jù)工程師進(jìn)行下一步數(shù)據(jù)處理。經(jīng)過加工的數(shù)據(jù)可以以數(shù)據(jù)集市或數(shù)據(jù)模型的形式存儲在NoSQL數(shù)據(jù)庫中,這也是后面要講到的“離線”與“在線”數(shù)據(jù)。
理解企業(yè)的數(shù)據(jù)處理需求
數(shù)據(jù)庫到數(shù)據(jù)倉庫,是事務(wù)型數(shù)據(jù)到分析型數(shù)據(jù)的轉(zhuǎn)變,分析型數(shù)據(jù)需要包括的是:分析的主題、數(shù)據(jù)的維度和層次,以及數(shù)據(jù)的歷史變化等等。而對大數(shù)據(jù)平臺來說,對分析的需求會更細(xì),包括:
查詢:快速響應(yīng)組合條件查詢、模糊查詢、標(biāo)簽
搜索:包括對非結(jié)構(gòu)化文檔的搜索、返回結(jié)果的排序
統(tǒng)計:實時反映變化,如電商平臺的在線銷售訂單與發(fā)貨計算出的庫存顯示
挖掘:支持挖掘算法、機(jī)器學(xué)習(xí)的訓(xùn)練集
針對不同的數(shù)據(jù)處理需求,可能需要設(shè)計不同的數(shù)據(jù)存儲,還需要考慮如何快速地將數(shù)據(jù)復(fù)制到對應(yīng)的存儲點并進(jìn)行合適的結(jié)構(gòu)轉(zhuǎn)換,以供分析人員快速響應(yīng)業(yè)務(wù)的需求。
離線數(shù)據(jù)與在線數(shù)據(jù)
根據(jù)不同的企業(yè)業(yè)務(wù),對“離線”的定義其實不一樣,在這里離線數(shù)據(jù)特指在業(yè)務(wù)場景中適用于“歷史數(shù)據(jù)”的部分。常見的歷史數(shù)據(jù)查詢分析一般來自于特定時間段,設(shè)計上需要考慮的是將數(shù)據(jù)存入歷史庫中時,建立時間索引。另一種情況是某種業(yè)務(wù)問題的定位或分析,在數(shù)據(jù)量巨大的情況下,基于Hadoop或Spark等框架編寫分析算法并直接在平臺上運行,可以大大節(jié)約數(shù)據(jù)導(dǎo)出導(dǎo)入、格式轉(zhuǎn)換與各種分析工具對接的時間。
在線數(shù)據(jù)處理按照存儲和分析的先后順序,可分為批處理(先存儲后分析)和流處理(先分析后存儲)兩類。Cassandra數(shù)據(jù)庫的設(shè)計采用上數(shù)據(jù)追加寫入模式,可以支持實時批處理;流式計算平臺則有Apache?Storm、Yahoo?S4等開源框架,商業(yè)平臺有Amazon?Kenisis(部署在云端)。企業(yè)的實時分析需求往往有特定的應(yīng)用場景,需要對業(yè)務(wù)和現(xiàn)行系統(tǒng)有深入的理解才能設(shè)計出一個合理的架構(gòu)。
via:Silent?River?作者:Justina?Chen
]]>所謂大數(shù)據(jù)不僅體現(xiàn)在數(shù)量上的龐大,還有涉及到的方面比較廣泛,以及計算過程比較的龐大而高效等,大數(shù)據(jù)分析能夠從海量的數(shù)據(jù)中提取出最有效的信息,在企業(yè)的營銷中發(fā)揮關(guān)鍵性的作用,可以說誰能夠更好的利用大數(shù)據(jù)分析就能夠在競爭中處于更加有利的位置,那么大數(shù)據(jù)分析都包含了哪些技術(shù)呢?
第一、數(shù)據(jù)采集
對于任何的數(shù)據(jù)分析來說,首要的就是數(shù)據(jù)采集,因此大數(shù)據(jù)分析軟件的第一個技術(shù)就是數(shù)據(jù)采集的技術(shù),該工具能夠?qū)⒎植荚诨ヂ?lián)網(wǎng)上的數(shù)據(jù),一些移動客戶端中的數(shù)據(jù)進(jìn)行快速而又廣泛的搜集,同時它還能夠迅速的將一些其他的平臺中的數(shù)據(jù)源中的數(shù)據(jù)導(dǎo)入到該工具中,對數(shù)據(jù)進(jìn)行清洗、轉(zhuǎn)換、集成等,從而形成在該工具的數(shù)據(jù)庫中或者是數(shù)據(jù)集市當(dāng)中,為聯(lián)系分析處理和數(shù)據(jù)挖掘提供了基礎(chǔ)。
第二、數(shù)據(jù)存取
數(shù)據(jù)在采集之后,大數(shù)據(jù)分析的另一個技術(shù)數(shù)據(jù)存取將會繼續(xù)發(fā)揮作用,能夠關(guān)系數(shù)據(jù)庫,方便用戶在使用中儲存原始性的數(shù)據(jù),并且快速的采集和使用,再有就是基礎(chǔ)性的架構(gòu),比如說運儲存和分布式的文件儲存等,都是比較常見的一種。
第三、數(shù)據(jù)處理
數(shù)據(jù)處理可以說是該軟件具有的最核心的技術(shù)之一,面對龐大而又復(fù)雜的數(shù)據(jù),該工具能夠運用一些計算方法或者是統(tǒng)計的方法等對數(shù)據(jù)進(jìn)行處理,包括對它的統(tǒng)計、歸納、分類等,從而能夠讓用戶深度的了解到數(shù)據(jù)所具有的深度價值。
第四、統(tǒng)計分析
統(tǒng)計分析則是該軟件所具有的另一個核心功能,比如說假設(shè)性的檢驗等,可以幫助用戶分析出現(xiàn)某一種數(shù)據(jù)現(xiàn)象的原因是什么,差異分析則可以比較出企業(yè)的產(chǎn)品銷售在不同的時間和地區(qū)中所顯示出來的巨大差異,以便未來更合理的在時間和地域中進(jìn)行布局。
第五、相關(guān)性分析
某一種數(shù)據(jù)現(xiàn)象和另外一種數(shù)據(jù)現(xiàn)象之間存在怎樣的關(guān)系,大數(shù)據(jù)分析通過數(shù)據(jù)的增長減少變化等都可以分析出二者之間的關(guān)系,此外,聚類分析以及主成分分析和對應(yīng)分析等都是常用的技術(shù),這些技術(shù)的運用會讓數(shù)據(jù)開發(fā)更接近人們的應(yīng)用目標(biāo)。
本文摘自:FineBI商業(yè)智能官網(wǎng)
]]>