大數(shù)據(jù)的處理過(guò)程可以分為大數(shù)據(jù)采集、存儲(chǔ)、結(jié)構(gòu)化處理、隱私保護(hù)、挖掘、結(jié)果展示(發(fā)布)等,各種領(lǐng)域的大數(shù)據(jù)應(yīng)用一般都會(huì)涉及到這些基本過(guò)程,但不同應(yīng)用可能會(huì)有所側(cè)重。科多大數(shù)據(jù)認(rèn)為對(duì)于互聯(lián)網(wǎng)大數(shù)據(jù)而言,由于其具有獨(dú)特完整的大數(shù)據(jù)特點(diǎn),除了共性技術(shù)外,采集技術(shù)、結(jié)構(gòu)化處理技術(shù)、隱私保護(hù)也非常突出。
有很多算法和模型可以解決這些處理過(guò)程中的技術(shù)問(wèn)題,并且為了最終用戶的使用方便,它們大都被進(jìn)一步的封裝,形成了比較簡(jiǎn)單易用的操作平臺(tái)。目前大數(shù)據(jù)技術(shù)平臺(tái)有很多,歸納起來(lái)可以按照以下方式進(jìn)行分類:
1. 從大數(shù)據(jù)處理的過(guò)程來(lái)分:包括數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)挖掘分析、以及為完成高效分析挖掘而設(shè)計(jì)的計(jì)算平臺(tái),它們完成數(shù)據(jù)采集、ETL、存儲(chǔ)、結(jié)構(gòu)化處理、挖掘、 分析、預(yù)測(cè)、應(yīng)用等功能。
2. 從大數(shù)據(jù)處理的數(shù)據(jù)類型來(lái)劃分:可以分為針對(duì)關(guān)系型數(shù)據(jù)、非關(guān)系型數(shù)據(jù)(圖數(shù)據(jù)、文本數(shù)據(jù)、網(wǎng)絡(luò)型數(shù)據(jù)等)、半結(jié)構(gòu)化數(shù)據(jù)、混合類型數(shù)據(jù)處理的技術(shù)平臺(tái)。
3. 從大數(shù)據(jù)處理的方式來(lái)劃分:可以分為批量處理、實(shí)時(shí)處理、綜合處理。其中批量數(shù)據(jù)是對(duì)成批數(shù)據(jù)進(jìn)行一次性處理,而實(shí)時(shí)處理(流處理)對(duì)處理的延時(shí)有嚴(yán)格的要求,綜合處理是指同時(shí)具備批量處理和實(shí)時(shí)處理兩種方式。
4. 從平臺(tái)對(duì)數(shù)據(jù)的部署方式看:可以分為基于內(nèi)存的、基于磁盤的。前者在分布式系統(tǒng)內(nèi)部的數(shù)據(jù)交換是在內(nèi)存中進(jìn)行,后者則是通過(guò)磁盤文件的方式。
此外,技術(shù)平臺(tái)還有分布式、集中式之分,云環(huán)境和非云環(huán)境之分等。阿里云大數(shù)據(jù)平臺(tái)構(gòu)建在阿里云云計(jì)算基礎(chǔ)設(shè)施之上,為用戶提供了大數(shù)據(jù)存儲(chǔ)、計(jì)算能力、大數(shù)據(jù)分析挖掘、以及輸出展示等服務(wù),用戶可以容易地實(shí)現(xiàn)BI商業(yè)智能、人工智能服務(wù),具備一站式數(shù)據(jù)應(yīng)用能力。在以前的一篇推送(“基于阿里云大數(shù)據(jù)技術(shù)的個(gè)性化新聞推薦”)中,描述了基于阿里云大數(shù)據(jù)技術(shù)的個(gè)性化新聞推薦系統(tǒng)分析設(shè)計(jì)與部署方法。
不同的大數(shù)據(jù)技術(shù)平臺(tái)提供了對(duì)這些處理過(guò)程的支持,有的平臺(tái)可能會(huì)支持多個(gè)過(guò)程,但是側(cè)重點(diǎn)也不同,支持的深度也有所不同,因此有必要熟悉各種平臺(tái)的功能,并做出比較分析,以便在實(shí)際應(yīng)用中選擇適合于自己需求的技術(shù)平臺(tái)。
選擇一個(gè)合適的大數(shù)據(jù)技術(shù)平臺(tái)是非常重要的,它能夠使得大數(shù)據(jù)應(yīng)用開發(fā)更加容易、讓開發(fā)人員更集中精力在業(yè)務(wù)層面的數(shù)據(jù)分析與處理上。一些共性的基礎(chǔ)問(wèn)題,例如數(shù)據(jù)如何存儲(chǔ)、如何檢索、數(shù)據(jù)統(tǒng)計(jì)等,就可以由平臺(tái)來(lái)完成。選擇合適的大數(shù)據(jù)技術(shù)平臺(tái)應(yīng)當(dāng)考慮以下因素:
1. 平臺(tái)的功能與性能:由于不同平臺(tái)側(cè)重的功能不同,平臺(tái)的性能也就有很多需要考察的方面。比如對(duì)于存儲(chǔ)平臺(tái)來(lái)說(shuō),數(shù)據(jù)的存儲(chǔ)效率、讀寫效率、并發(fā)訪問(wèn)能力、對(duì)結(jié)構(gòu)化與非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)的支持,所提供的數(shù)據(jù)訪問(wèn)接口等方面就是比較重要的。對(duì)于大數(shù)據(jù)挖掘平臺(tái)來(lái)說(shuō),所支持的挖掘算法、算法的封裝程度、數(shù)據(jù)挖掘結(jié)果的展示能力、挖掘算法的時(shí)間和空間復(fù)雜度等,是比較重要的指標(biāo)。
2. 平臺(tái)的集成度:好的平臺(tái)應(yīng)該具有較高的集成度,為用戶提供良好的操作界面,具有完善的幫助和使用手冊(cè)、系統(tǒng)易于配置、移植性好。同時(shí)隨著目前軟件開源的趨勢(shì),開源平臺(tái)有助于其版本的快速升級(jí),盡快發(fā)現(xiàn)其中的bug,此外,開源的架構(gòu)也比較容易進(jìn)行擴(kuò)展,植入更多的新算法,這對(duì)于最終用戶而言也是比較重要的。
3. 是否符合技術(shù)發(fā)展趨勢(shì):大數(shù)據(jù)技術(shù)是當(dāng)前發(fā)展和研究的熱點(diǎn),其最終將走向逐步成熟,可以預(yù)見在這個(gè)過(guò)程中,并非所有的技術(shù)平臺(tái)都能生存下來(lái)。只有符合技術(shù)發(fā)展趨勢(shì)的技術(shù)平臺(tái)才會(huì)被用戶、被技術(shù)開發(fā)人員所接受。因此,一些不支持分布式、集群計(jì)算的平臺(tái)大概只能針對(duì)較小的數(shù)據(jù)量,側(cè)重于對(duì)挖掘算法的驗(yàn)證。而與云計(jì)算、物聯(lián)網(wǎng)、人工智能聯(lián)系密切的技術(shù)平臺(tái)將成為主流,是技術(shù)發(fā)展趨勢(shì)。
同時(shí)應(yīng)當(dāng)充分意識(shí)到,技術(shù)迭代更新速度加快,當(dāng)我們花很多時(shí)間去掌握熟悉某種技術(shù)平臺(tái)后,可能新的更好的技術(shù)平臺(tái)出現(xiàn)了,導(dǎo)致我們受累奔波于各種技術(shù)平臺(tái),因此,最好的策略就是全面系統(tǒng)地掌握大數(shù)據(jù)技術(shù)的原理和實(shí)現(xiàn)方案,這樣學(xué)習(xí)新的技術(shù)平臺(tái)就很容易上手。