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