在大數(shù)據(jù)學(xué)習(xí)中,我們可以分為數(shù)據(jù)采集、數(shù)據(jù)傳輸、數(shù)據(jù)存儲、數(shù)據(jù)處理、數(shù)據(jù)治理五大板塊的學(xué)習(xí)。
在數(shù)據(jù)采集這個板塊,可分為從哪里采集數(shù)據(jù)、以什么規(guī)則采集。互聯(lián)網(wǎng)時代的帶來給我們帶來了多種數(shù)據(jù)格式類型的數(shù)據(jù),包含結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù),數(shù)據(jù)采集的來源有系統(tǒng)日志、網(wǎng)絡(luò)數(shù)據(jù)、傳感器。系統(tǒng)日志的采集主要是通過瀏覽器、app、服務(wù)端進(jìn)行埋點獲取,比如用戶訪問點擊數(shù)據(jù)、接口調(diào)用數(shù)據(jù)等,網(wǎng)絡(luò)數(shù)據(jù)主要是通過爬蟲等技術(shù)從網(wǎng)站進(jìn)行獲取。設(shè)備數(shù)據(jù)主要是通過傳感器等從物理設(shè)備上進(jìn)行采集。
在數(shù)據(jù)采集方確認(rèn)后了之后,接下來的問題就是以什么規(guī)則分配數(shù)據(jù)存儲、數(shù)據(jù)采集。數(shù)據(jù)量的暴增已經(jīng)無法把PB級別的數(shù)據(jù)直接存儲在單機系統(tǒng)里了,以分布式模式來存儲數(shù)據(jù)是必須的,通過hash分片方式可以把數(shù)據(jù)分配到不同的機器中,再配合路由機制,就可以快速找到某一臺機器上的某條記錄。在數(shù)據(jù)的取舍上,可根據(jù)分布式的CAP/ACD/BASE原則來決定,在數(shù)據(jù)的更新上可采用主從式更新、各個機器節(jié)點同步更新、任一個節(jié)點更新的策略來處理數(shù)據(jù)。
在數(shù)據(jù)傳輸方面,一般有消息隊列、數(shù)據(jù)同步等方式可以將采集的數(shù)據(jù)傳輸?shù)酱鎯νǖ馈O㈥犃袘?yīng)該是現(xiàn)在互聯(lián)網(wǎng)企業(yè)最常用的手段了,通過Kafka、RabbitMQ等消息隊列,將服務(wù)之間解耦,生產(chǎn)者負(fù)責(zé)數(shù)據(jù)的生產(chǎn),消費者按需訂閱數(shù)據(jù)進(jìn)行消費和業(yè)務(wù)處理。數(shù)據(jù)同步一般應(yīng)用在數(shù)倉中,在各類數(shù)據(jù)源中將沒有進(jìn)行過任何加工的數(shù)據(jù)傳遞到數(shù)據(jù)倉庫中。
在數(shù)據(jù)采集、傳輸之后,便是數(shù)據(jù)的存儲了。存儲方面一般有物理存儲、分布式對象存儲、大數(shù)據(jù)庫存儲等模式。物理存儲定義是數(shù)據(jù)存儲在磁盤上。存儲類型方面支持文件存儲、塊存儲、對象存儲。分布式存儲主要是提供多存儲節(jié)點來實現(xiàn)海量數(shù)據(jù)的存儲和方面,支持高可用、高性能、高伸縮性。大數(shù)據(jù)庫存儲主要是針對特定類型或離線分析使用,比如clickhouse、hbase、elasticsearch等大數(shù)據(jù)庫直接統(tǒng)計分析使用,mongodb等文檔數(shù)據(jù)庫主要是存儲半結(jié)構(gòu)化數(shù)據(jù)。
在數(shù)據(jù)處理方面,主要使用流式計算、大規(guī)模批量計算等方式將數(shù)據(jù)進(jìn)行加工處理,賦能業(yè)務(wù)。在實時處理方面,一般是使用flink、spark、storm等流式計算方式來對數(shù)據(jù)實時處理。大規(guī)模批量計算主要就是離線分析了,通過mapreduce、hive等離線計算方式來對數(shù)據(jù)進(jìn)行加工處理,適合數(shù)據(jù)實時性要求不高的業(yè)務(wù)。
經(jīng)過了數(shù)據(jù)采集、傳輸、存儲、處理階段后,數(shù)據(jù)產(chǎn)生了它的價值,可以更好的用于業(yè)務(wù)決策、運營分析。但是隨著數(shù)據(jù)量的越來越大、業(yè)務(wù)的越來越復(fù)雜,對于數(shù)據(jù)的治理是勢在必行。數(shù)據(jù)治理包括元數(shù)據(jù)管理、數(shù)據(jù)質(zhì)量把控、數(shù)據(jù)安全三方面。元數(shù)據(jù)一般是指數(shù)據(jù)與數(shù)據(jù)之間的關(guān)聯(lián)信息,通過生命周期管理、業(yè)務(wù)屬性管理可以讓管理員更好的做系統(tǒng)維護管理。在數(shù)據(jù)質(zhì)量上主要通過一些流程上的質(zhì)量管理控制體系進(jìn)行把控,在數(shù)據(jù)安全方面主要從數(shù)據(jù)采集安全、數(shù)據(jù)傳輸安全、存儲安全、應(yīng)用安全等幾方面去把控,企業(yè)在掌握了更多的用戶信息之后更應(yīng)該做好安全方面的管控。
對海量數(shù)據(jù)的存儲、計算、分析、治理除了上面介紹的專業(yè)內(nèi)容之外,還需要掌握分布式技術(shù)、高并發(fā)處理、高可用處理、集群、實時計算,需要了解微服務(wù)架構(gòu)、云計算、云原生、物聯(lián)網(wǎng)、5G等概念。