來源:阿里技術(shù) 時(shí)間:2020-06-12 09:56:05 作者:徐強(qiáng)
阿里妹導(dǎo)讀:對(duì)海量數(shù)據(jù)進(jìn)行存儲(chǔ)、計(jì)算、分析、挖掘處理需要依賴一系列的大數(shù)據(jù)技術(shù),而大數(shù)據(jù)技術(shù)又涉及了分布式計(jì)算、高并發(fā)處理、高可用處理、集群、實(shí)時(shí)性計(jì)算等,可以說是匯集了當(dāng)前 IT 領(lǐng)域熱門流行的 IT 技術(shù)。本文對(duì)大數(shù)據(jù)技術(shù)知識(shí)體系進(jìn)行劃分,共分為基礎(chǔ)技術(shù)、數(shù)據(jù)采集、數(shù)據(jù)傳輸、數(shù)據(jù)組織集成、數(shù)據(jù)應(yīng)用、數(shù)據(jù)治理,進(jìn)行相關(guān)的闡述說明,并列出目前業(yè)界主流的相關(guān)框架、系統(tǒng)、數(shù)據(jù)庫、工具等。
文末福利:下載大數(shù)據(jù)知識(shí)體系圖。
前 言
最早提出“大數(shù)據(jù)”時(shí)代到來的是全球知名咨詢公司麥肯錫,麥肯錫稱:“數(shù)據(jù),已經(jīng)滲透到當(dāng)今每一個(gè)行業(yè)和業(yè)務(wù)職能領(lǐng)域,成為重要的生產(chǎn)因素。人們對(duì)于海量數(shù)據(jù)的挖掘和運(yùn)用,預(yù)示著新一波生產(chǎn)率增長(zhǎng)和消費(fèi)者盈余浪潮的到來?!睌?shù)據(jù),讓一切有跡可循,讓一切有源可溯。我們每天都在產(chǎn)生數(shù)據(jù),創(chuàng)造大數(shù)據(jù)和使用大數(shù)據(jù),只是,你,仍然渾然不知。
企業(yè)組織利用相關(guān)數(shù)據(jù)和分析可以幫助它們降低成本、提高效率、開發(fā)新產(chǎn)品、做出更明智的業(yè)務(wù)決策等等。大數(shù)據(jù)的價(jià)值,遠(yuǎn)遠(yuǎn)不止于此,大數(shù)據(jù)對(duì)各行各業(yè)的滲透,大大推動(dòng)了社會(huì)生產(chǎn)和生活,未來必將產(chǎn)生重大而深遠(yuǎn)的影響。
具體展開圖(點(diǎn)擊“閱讀原文”可下載),詳細(xì)內(nèi)容請(qǐng)看下文:
一 大數(shù)據(jù)基礎(chǔ)技術(shù)
數(shù)據(jù)分片路由
在大數(shù)據(jù)的背景下,數(shù)據(jù)規(guī)模已經(jīng)由 GP 跨越大屏 PB 的級(jí)別,單機(jī)明顯已經(jīng)無法存儲(chǔ)與處理如此規(guī)模的數(shù)據(jù)量,只能依靠大規(guī)模集群來對(duì)這些數(shù)據(jù)進(jìn)行存儲(chǔ)和處理。對(duì)于海量的數(shù)據(jù),通過數(shù)據(jù)分片(Shard/Partition)來將數(shù)據(jù)進(jìn)行切分到不同機(jī)器中去,分片以后,如何能夠找到某一條記錄。這就是數(shù)據(jù)的分片和路由。
數(shù)據(jù)復(fù)制 & 一致性
在大數(shù)據(jù)的存儲(chǔ)系統(tǒng)中,為了增加系統(tǒng)的可靠性,往往會(huì)將同一份數(shù)據(jù)存儲(chǔ)多個(gè)副本。數(shù)據(jù)是如何復(fù)制?以及數(shù)據(jù)復(fù)制后帶來的一致性問題如何的解決?
大數(shù)據(jù)常用算法與數(shù)據(jù)結(jié)構(gòu)
對(duì)于大數(shù)據(jù)或者大規(guī)模的分布式系統(tǒng)來說,如何能夠高效快速地進(jìn)行海量數(shù)據(jù)的處理非常關(guān)鍵,而采用合適的數(shù)據(jù)結(jié)構(gòu)和算法對(duì)于達(dá)成此目標(biāo)至關(guān)重要。
二 數(shù)據(jù)采集
大數(shù)據(jù)的采集處于大數(shù)據(jù)生命周期的第一個(gè)環(huán)節(jié),從數(shù)據(jù)采集的類型看不僅僅要涵蓋基礎(chǔ)的結(jié)構(gòu)化數(shù)據(jù),半結(jié)構(gòu)化數(shù)據(jù),以及非結(jié)構(gòu)化數(shù)據(jù)音頻、視頻、圖像等。常見的數(shù)據(jù)采集方式包括系統(tǒng)日志采集、網(wǎng)絡(luò)數(shù)據(jù)采集、設(shè)備數(shù)據(jù)采集。
系統(tǒng)日志采集
系統(tǒng)日志采集主要是對(duì)數(shù)據(jù)庫、系統(tǒng)、服務(wù)器等運(yùn)行狀態(tài),行為事件等數(shù)據(jù)抓取。
埋點(diǎn):瀏覽器(PC)打點(diǎn)、無線客戶端、服務(wù)端打點(diǎn)。
數(shù)據(jù)采集框架:Chukwa、Splunk Forwarder、Flume、Fluentd、Logstash、Scribe。
網(wǎng)絡(luò)數(shù)據(jù)采集
網(wǎng)絡(luò)數(shù)據(jù)采集是指通過爬蟲或者公開 API 等方式從網(wǎng)站獲取數(shù)據(jù)。數(shù)據(jù)的內(nèi)容可以是文本、視屏、圖片數(shù)據(jù)等。
爬蟲技術(shù):Nutch、Heritrix、Scrapy、WebCollector。
設(shè)備數(shù)據(jù)采集
設(shè)備數(shù)據(jù)采集主要是指針對(duì)一些物理設(shè)備的數(shù)據(jù)采集,常見的如傳感器,探針。
三 數(shù)據(jù)傳輸
經(jīng)過采集的數(shù)據(jù)通過數(shù)據(jù)通道被傳輸存儲(chǔ)。集中存儲(chǔ)的數(shù)據(jù)源的數(shù)據(jù)發(fā)生變化也能通過數(shù)據(jù)通道盡快地通知對(duì)數(shù)據(jù)敏感的相應(yīng)應(yīng)用或者系統(tǒng)構(gòu)建,使得它們能夠盡快的捕獲數(shù)據(jù)的變化。
數(shù)據(jù)傳輸包含如下相關(guān)技術(shù):消息隊(duì)列、數(shù)據(jù)同步、數(shù)據(jù)訂閱、序列化。
消息隊(duì)列
消息隊(duì)列是涉及大規(guī)模分布式系統(tǒng)時(shí)候經(jīng)常使用的中間件產(chǎn)品,主要解決日志搜集,應(yīng)用耦合,異步消息,流量削鋒等問題實(shí)現(xiàn)高性能,高可用,可伸縮和最終一致性架構(gòu)。
數(shù)據(jù)同步
在數(shù)據(jù)倉(cāng)庫建模中,未經(jīng)任何加工處理的原始業(yè)務(wù)層數(shù)據(jù),我們稱之為 ODS (Operational Data Store) 數(shù)據(jù)。在互聯(lián)網(wǎng)企業(yè)中,常見的 ODS 數(shù)據(jù)有業(yè)務(wù)日志數(shù)據(jù)(Log)和業(yè)務(wù) DB 數(shù)據(jù)(DB)兩類。對(duì)于業(yè)務(wù) DB 數(shù)據(jù)來說,從 MySQL 等關(guān)系型數(shù)據(jù)庫的業(yè)務(wù)數(shù)據(jù)進(jìn)行采集,然后導(dǎo)入到數(shù)據(jù)倉(cāng)庫中,是進(jìn)一個(gè)重要環(huán)節(jié)。如何準(zhǔn)確、高效地把 MySQL 數(shù)據(jù)同步到數(shù)據(jù)倉(cāng)庫中?一般常用的解決方案是批量取數(shù)并 Load。數(shù)據(jù)同步解決各個(gè)數(shù)據(jù)源之間穩(wěn)定高效的數(shù)據(jù)同步功能。
數(shù)據(jù)訂閱
數(shù)據(jù)訂閱功能旨在幫助用戶獲取實(shí)時(shí)增量數(shù)據(jù),用戶能夠根據(jù)自身業(yè)務(wù)需求自由消費(fèi)增量數(shù)據(jù),例如實(shí)現(xiàn)緩存更新策略、業(yè)務(wù)異步解耦、異構(gòu)數(shù)據(jù)源數(shù)據(jù)實(shí)時(shí)同步及含復(fù)雜 ETL 的數(shù)據(jù)實(shí)時(shí)同 步等多種業(yè)務(wù)場(chǎng)景。
序列化
序列化 (Serialization)是將對(duì)象的狀態(tài)信息轉(zhuǎn)換為可以存儲(chǔ)或傳輸?shù)男问降倪^程。數(shù)據(jù)序列化用于模塊通訊時(shí),將對(duì)象序列化為通信流,高效的傳輸?shù)搅硪粋€(gè)模塊,并提供反序列化還原數(shù)據(jù)。對(duì)于大數(shù)據(jù)傳輸場(chǎng)景下序列化的性能、大小也直接影響了數(shù)據(jù)傳輸?shù)男阅堋?/p>
四 數(shù)據(jù)組織集成
數(shù)據(jù)存儲(chǔ)
大數(shù)據(jù)存儲(chǔ)面向海量、異構(gòu)、大規(guī)模結(jié)構(gòu)化非結(jié)構(gòu)化等數(shù)據(jù)提供高性能高可靠的存儲(chǔ)以及訪問能力,通過優(yōu)化存儲(chǔ)優(yōu)化存儲(chǔ)基礎(chǔ)設(shè)施、提供高性能。高吞吐率、大容量的數(shù)據(jù)存儲(chǔ)方案,解決巨大數(shù)據(jù)量的存儲(chǔ)問題,同時(shí)為大規(guī)模數(shù)據(jù)分析、計(jì)算、加工提供支撐。
物理存儲(chǔ)
隨著主機(jī)、磁盤、網(wǎng)絡(luò)等技術(shù)的發(fā)展,數(shù)據(jù)存儲(chǔ)的方式和架構(gòu)也在一直不停改變。
根據(jù)服務(wù)器類型,我們將存儲(chǔ)的分類分為:
封閉系統(tǒng)的存儲(chǔ)(封閉系統(tǒng)主要指大型機(jī))
開放系統(tǒng)的存儲(chǔ)(開放系統(tǒng)指基于 Windows、UNIX、Linux 等操作系統(tǒng)的服務(wù)器)
開放系統(tǒng)的存儲(chǔ)分為:
內(nèi)置存儲(chǔ)
外掛存儲(chǔ)
外掛存儲(chǔ)根據(jù)連接的方式分為:
直連式存儲(chǔ)(Direct-Attached Storage,簡(jiǎn)稱 DAS)
網(wǎng)絡(luò)化存儲(chǔ)(Fabric-Attached Storage,簡(jiǎn)稱 FAS)
網(wǎng)絡(luò)化存儲(chǔ)根據(jù)傳輸協(xié)議又分為:
網(wǎng)絡(luò)接入存儲(chǔ)(Network-Attached Storage,簡(jiǎn)稱 NAS)
存儲(chǔ)區(qū)域網(wǎng)絡(luò)(Storage Area Network,簡(jiǎn)稱 SAN)
針對(duì)不同的應(yīng)用場(chǎng)景,選擇的分布式存儲(chǔ)方案也會(huì)不同,因此有了對(duì)象存儲(chǔ)、塊存儲(chǔ)、文件系統(tǒng)存儲(chǔ)。
分布式文件/對(duì)象存儲(chǔ)系統(tǒng)
分布式存儲(chǔ)系統(tǒng)面向海量數(shù)據(jù)的存儲(chǔ)訪問與共享需求,提供基于多存儲(chǔ)節(jié)點(diǎn)的高性能,高可靠和可伸縮性的數(shù)據(jù)存儲(chǔ)和訪問能力,實(shí)現(xiàn)分布式存儲(chǔ)節(jié)點(diǎn)上多用戶的訪問共享。
目前業(yè)界比較流行的分布式存儲(chǔ)系統(tǒng)如下:HDFS、OpenStack Swift、Ceph、GlusterFS、Lustre、AFS、OSS。
分布式關(guān)系型數(shù)據(jù)庫
隨著傳統(tǒng)的數(shù)據(jù)庫技術(shù)日趨成熟、計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的飛速發(fā)展和應(yīng)用范圍的擴(kuò)大,以分布式為主要特征的數(shù)據(jù)庫系統(tǒng)的研究與開發(fā)受到人們的注意。關(guān)系型數(shù)據(jù)庫也是建立在關(guān)系模型基礎(chǔ)上的數(shù)據(jù)庫,借助于集合代數(shù)等數(shù)學(xué)概念和方法來處理數(shù)據(jù)庫中的數(shù)據(jù)。由于集中式關(guān)系型數(shù)據(jù)庫系統(tǒng)的不足(性能、擴(kuò)展性),分布式關(guān)系型數(shù)據(jù)庫目前越來越多。
目前業(yè)界比較流行的分布式關(guān)系型數(shù)據(jù)庫如下:DRDS、TiDB、GreenPlum、Cobar、Aurora、Mycat。
分析型數(shù)據(jù)庫
分析數(shù)據(jù)庫是面向分析應(yīng)用的數(shù)據(jù)庫,與傳統(tǒng)的數(shù)據(jù)庫不同,它可以對(duì)數(shù)據(jù)進(jìn)行在線統(tǒng)計(jì)、數(shù)據(jù)在 線分析、隨即查詢等發(fā)掘信息數(shù)據(jù)價(jià)值的工作,是數(shù)據(jù)庫產(chǎn)品一個(gè)重要的分支。
目前業(yè)界比較流行的分析型數(shù)據(jù)庫如下:Kylin、AnalyticDB、Druid、Clickhouse、Vertica、MonetDB、InfiniDB、LucidDB。
搜索引擎
大數(shù)據(jù)時(shí)代,如何幫助用戶從海量信息中快速準(zhǔn)確搜索到目標(biāo)內(nèi)容,就需要搜索引擎。大數(shù)據(jù)搜索引擎是一個(gè)提供分布式,高性能、高可用、可伸縮的搜索和分析系統(tǒng)。
目前常見的搜索引擎技術(shù)如下:Elasticsearch、Solr、OpenSearch。
圖數(shù)據(jù)庫
圖數(shù)據(jù)庫源起歐拉和圖理論,也可稱為面向/基于圖的數(shù)據(jù)庫,對(duì)應(yīng)的英文是 Graph Database。圖形數(shù)據(jù)庫是 NoSQL 數(shù)據(jù)庫的一種類型,它應(yīng)用圖形理論存儲(chǔ)實(shí)體之間的關(guān)系信息。圖形數(shù)據(jù)庫是一種非關(guān)系型數(shù)據(jù)庫,它應(yīng)用圖形理論存儲(chǔ)實(shí)體之間的關(guān)系信息。最常見例子就是社會(huì)網(wǎng)絡(luò)中人與人之間的關(guān)系。圖數(shù)據(jù)庫的基本含義是以“圖”這種數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)和查詢數(shù)據(jù),而不是存儲(chǔ)圖片的數(shù)據(jù)庫。它的數(shù)據(jù)模型主要是以節(jié)點(diǎn)和關(guān)系(邊)來體現(xiàn),也可處理鍵值對(duì)。它的優(yōu)點(diǎn)是快速解決復(fù)雜的關(guān)系問題。
目前業(yè)界比較流行的圖數(shù)據(jù)庫如下:Titan、Neo4J、ArangoDB、OrientDB、MapGraph、ALLEGROGRAPH。
列存儲(chǔ)數(shù)據(jù)庫
列式數(shù)據(jù)庫是以列相關(guān)存儲(chǔ)架構(gòu)進(jìn)行數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)庫,主要適合于批量數(shù)據(jù)處理和即時(shí)查詢。相對(duì)應(yīng)的是行式數(shù)據(jù)庫,數(shù)據(jù)以行相關(guān)的存儲(chǔ)體系架構(gòu)進(jìn)行空間分配,主要適合于大批量的數(shù)據(jù)處理,常用于聯(lián)機(jī)事務(wù)型數(shù)據(jù)處理。
目前業(yè)界比較流行的列存儲(chǔ)數(shù)據(jù)庫如下:Phoenix、Cassandra、Hbase、Kudu、Hypertable。
文檔數(shù)據(jù)庫
文檔型數(shù)據(jù)庫是 NoSQL 中非常重要的一個(gè)分支,它主要用來存儲(chǔ)、索引并管理面向文檔的數(shù)據(jù)或者類似的半結(jié)構(gòu)化數(shù)據(jù)。
目前業(yè)界比較流行的文檔型數(shù)據(jù)庫如下:MongoDb、CouchDB、OrientDB、MarkLogic。
鍵值存儲(chǔ)數(shù)據(jù)庫
目前業(yè)界比較流行的鍵值存儲(chǔ)數(shù)據(jù)庫如下:Redis、Memcached、Tair。
數(shù)據(jù)計(jì)算
大數(shù)據(jù)計(jì)算主要完成海量數(shù)據(jù)并行處理、分析挖掘等面向業(yè)務(wù)需求。大數(shù)據(jù)計(jì)算通過將海量的數(shù)據(jù)分片,多個(gè)計(jì)算節(jié)點(diǎn)并行化執(zhí)行,實(shí)現(xiàn)高性能、高可靠的數(shù)據(jù)處理,同時(shí)提供分布式任務(wù)管理和調(diào)度的支撐。針對(duì)不同的數(shù)據(jù)處理需求,主要有大規(guī)模批量處理、流式計(jì)算、圖計(jì)算、即席分析等多種計(jì)算。
流式計(jì)算(Streaming compute)
流式計(jì)算:利用分布式的思想和方法,對(duì)海量“流”式數(shù)據(jù)進(jìn)行實(shí)時(shí)處理。流式計(jì)算更加強(qiáng)調(diào)計(jì)算數(shù)據(jù)流和低時(shí)延。這邊所謂的流數(shù)據(jù)( streaming data)是一種不斷增長(zhǎng)的,無限的數(shù)據(jù)集。
流式計(jì)算是否等于實(shí)時(shí)計(jì)算?習(xí)慣上實(shí)時(shí)和流式等價(jià),但其實(shí)這種觀點(diǎn)并不完全正確。數(shù)據(jù)的發(fā)生的時(shí)間和處理時(shí)間有可能是不一致的,只能說流式計(jì)算是一種低延遲的計(jì)算方式。
注意:本文將微批處理和流處理混在一起。
業(yè)界常見的流式計(jì)算框架:Storm、Flink、Yahoo S4、Kafka Stream、Twitter Heron、Apache Samza、Spark Streaming。
大規(guī)模批量計(jì)算(batch compute)
大規(guī)模批量計(jì)算是對(duì)存儲(chǔ)的靜態(tài)數(shù)據(jù)進(jìn)行大規(guī)模并行批處理的計(jì)算。批量計(jì)算是一種批量、高時(shí)延、主動(dòng)發(fā)起的計(jì)算。習(xí)慣上我們認(rèn)為離線和批量等價(jià),但其實(shí)是不準(zhǔn)確的。離線計(jì)算一般是指數(shù)據(jù)處理的延遲。這里有兩方面的含義第一就是數(shù)據(jù)是有延遲的,第二是是時(shí)間處理是延遲。在數(shù)據(jù)是實(shí)時(shí)的情況下,假設(shè)一種情況:當(dāng)我們擁有一個(gè)非常強(qiáng)大的硬件系統(tǒng),可以毫秒級(jí)的處理 Gb 級(jí)別的數(shù)據(jù),那么批量計(jì)算也可以毫秒級(jí)得到統(tǒng)計(jì)結(jié)果。
業(yè)界常見的大規(guī)模批量計(jì)算框架:Tez、MapReduce、Hive、Spark、Pig、大數(shù)據(jù)的編程模型 Apache Beam。
即席查詢分析 (ad-hoc query)
大數(shù)據(jù)進(jìn)行即席查詢分析近兩年日益成為關(guān)注領(lǐng)域。即席查詢(Ad Hoc)是用戶根據(jù)自己的需求,靈活的選擇查詢條件,系統(tǒng)能夠根據(jù)條件快速的進(jìn)行查詢分析返回結(jié)果。即席查詢和分析的計(jì)算模式兼具了良好的時(shí)效性與靈活性,是對(duì)批處理,流計(jì)算兩大計(jì)算模式有力補(bǔ)充。大規(guī)模批量計(jì)算解決了大數(shù)據(jù)量批處理的問題,而即席查詢分析則解決了適合商業(yè)智能分析人員的便捷交互式分析的問題。
業(yè)界常見的框架:Impala、Hawq、Dremel、Drill、Phoenix、Tajo、Presto、Hortonworks Stinger。
全量計(jì)算 & 增量計(jì)算
很多大數(shù)據(jù)的任務(wù)中,數(shù)據(jù)是一個(gè)增量收集和更新的過程,這時(shí)候?qū)τ跀?shù)據(jù)的處理可以使是全量加上增量計(jì)算的方式。增量計(jì)算只對(duì)部分新增數(shù)據(jù)進(jìn)行計(jì)算來極大提升計(jì)算過程的效率,可應(yīng)用到數(shù)據(jù)增量或周期性更新的場(chǎng)合。典型例子就是搜索引擎的周期性索引更新。
相關(guān)基礎(chǔ)知識(shí):Lambda 架構(gòu)、Kappa 架構(gòu)、IOTA 架構(gòu)。
業(yè)界常見框架:Microsoft Kineograph、Galaxy、Google Percolator、Druid。
圖計(jì)算
圖計(jì)算是一類在實(shí)際應(yīng)用中非常常見的計(jì)算類型。許多大數(shù)據(jù)都是以大規(guī)模圖或網(wǎng)絡(luò)的形式呈現(xiàn),如社交網(wǎng)絡(luò)、傳染病傳播途徑、交通事故對(duì)路網(wǎng)的影響許多非圖結(jié)構(gòu)的大數(shù)據(jù),也常常會(huì)被轉(zhuǎn)換為圖模型后進(jìn)行分析。圖數(shù)據(jù)結(jié)構(gòu)很好地表達(dá)了數(shù)據(jù)之間的關(guān)聯(lián)性。要處理規(guī)模巨大的圖數(shù)據(jù),傳統(tǒng)的單機(jī)處理方式已經(jīng)無力處理,必須采用大規(guī)模機(jī)器集群構(gòu)成的并行數(shù)據(jù)庫。
相關(guān)基礎(chǔ)知識(shí):GAS 編程模型、BSP 模型、節(jié)點(diǎn)為中心編程模型、計(jì)算范型。
業(yè)界常見框架:Pregel、GraphChi、Spark GraphX、PowerGrah、Apache Giraph、Apache Hama。
分布式協(xié)調(diào)系統(tǒng)
大規(guī)模分布式系統(tǒng)中需要解決各種類型的協(xié)調(diào)需求,例如當(dāng)當(dāng)系統(tǒng)中加入一個(gè)進(jìn)程或者物理機(jī),如何自動(dòng)獲取參數(shù)和配置,當(dāng)進(jìn)程和物理機(jī)發(fā)生改變?nèi)绾瓮ㄖ渌M(jìn)程;單主控服務(wù)發(fā)生癱瘓,如何能夠從備份中選取新的主控服務(wù)。分布式協(xié)調(diào)系統(tǒng)適用于大型的分布式系統(tǒng),可以提供 統(tǒng)一命名服務(wù)、狀態(tài)同步服務(wù)、集群管理、分布式應(yīng)用配置項(xiàng)的管理等服務(wù)。
業(yè)界常見框架:Chubby、阿里 Diamond、阿里 ConfigServer、zookeeper、Eureka、Consul。
集群資源管理和調(diào)度
資源管理調(diào)度的本質(zhì)是集群、數(shù)據(jù)中心級(jí)別的資源統(tǒng)一管理和分配,以提高效率。其中,多租戶、彈性計(jì)算、動(dòng)態(tài)分配是資源管理系統(tǒng)要核心解決問題。
管理調(diào)度框架:Omega、Brog、Mesos、Corona、Yarn、Torca。
管理和監(jiān)控工具:Ambari、Chukwa、Hue。
工作流管理引擎
隨著企業(yè)的發(fā)展,他們的工作流程變得更加復(fù)雜,越來越多的有著錯(cuò)綜復(fù)雜依賴關(guān)系的工作流需要增加監(jiān)控,故障排除。如果沒有明確的血緣關(guān)系。就可能出現(xiàn)問責(zé)問題,對(duì)元數(shù)據(jù)的操作也可能丟失。這就是有向無環(huán)圖(DAG),數(shù)據(jù)管道和工作流管理器發(fā)揮作用的地方。
復(fù)雜的工作流程可以通過 DAG 來表示。DAG 是一種圖結(jié)構(gòu)。信息必須沿特定方向在頂點(diǎn)間傳遞,但信息無法通過循環(huán)返回起點(diǎn)。DAG 的構(gòu)建是數(shù)據(jù)管道,或者是一個(gè)進(jìn)程的輸入成為下一個(gè)進(jìn)程的輸入的順序進(jìn)程。
構(gòu)建這些管道可能會(huì)很棘手,但幸運(yùn)的是,有幾個(gè)開源的工作流管理器可用于解決這個(gè)問題,允許程序員專注于單個(gè)任務(wù)和依賴關(guān)系。
業(yè)界常見框架:Oozie、Azkaban、Luigi、Airflow。
數(shù)據(jù)倉(cāng)庫
隨著數(shù)據(jù)庫技術(shù)和管理系統(tǒng)的不斷發(fā)展和普及,人們已不再滿足于一般的業(yè)務(wù)處理。同時(shí)隨著數(shù)據(jù)量的不斷增大,如何能夠更好地利用數(shù)據(jù),將數(shù)據(jù)轉(zhuǎn)化成商業(yè)價(jià)值,已經(jīng)成為人們?cè)絹碓疥P(guān)心的問題。
舉例來說,數(shù)據(jù)庫系統(tǒng)可以很好地解決事務(wù)處理,實(shí)現(xiàn)對(duì)數(shù)據(jù)的“增刪改查”等功能,但是卻不能提供很好的決策分析支持。因?yàn)槭聞?wù)處理首先考慮響應(yīng)的及時(shí)性,多數(shù)情況都是在處理當(dāng)前數(shù)據(jù),而決策分析需要考慮的是數(shù)據(jù)的集成性和歷史性,可能對(duì)分析處理的時(shí)效性要求不高。所以為了提高決策分析的有效性和完整性,人們逐漸將一部分或者大部分?jǐn)?shù)據(jù)從聯(lián)機(jī)事物處理系統(tǒng)中剝離出來,形成今天的數(shù)據(jù)倉(cāng)庫系統(tǒng)。
數(shù)據(jù)挖掘
分析挖掘是通過算法從大數(shù)據(jù)紅提煉出具有價(jià)值的信息和知識(shí)的過程。以機(jī)器和算法為主導(dǎo),充分發(fā)揮機(jī)器在數(shù)據(jù)分析挖掘中的效率和可靠性的優(yōu)勢(shì),提供對(duì)結(jié)構(gòu)化數(shù)據(jù)以及文本、圖像、視頻和語言等非結(jié)構(gòu)數(shù)據(jù)分析挖掘。數(shù)據(jù)分析挖掘包括一些通用的數(shù)據(jù)挖掘方法,也包括深度學(xué)習(xí),機(jī)器學(xué)習(xí),統(tǒng)計(jì)分析等。
數(shù)據(jù)測(cè)試
五 數(shù)據(jù)應(yīng)用
大數(shù)據(jù)應(yīng)用是整個(gè)大數(shù)據(jù)生命周期中最重要的一個(gè)環(huán)節(jié)之一。隨著大數(shù)據(jù)應(yīng)用越來越廣泛,應(yīng)用的行業(yè)也越來越低,每天都可以看到大數(shù)據(jù)的一些新奇的應(yīng)用,從而幫助人們從中獲取到真正有用的價(jià)值。下面和大家介紹下大數(shù)據(jù)應(yīng)用方面相關(guān)技術(shù)。
基本概念
數(shù)據(jù)服務(wù)
數(shù)據(jù)可視化
人類的眼睛是一對(duì)高帶寬巨量視覺信號(hào)輸入的并行處理器,擁有超強(qiáng)模式識(shí)別能力,配合超過 50% 功能用于視覺感知相關(guān)處理的大腦,使得人類通過視覺獲取數(shù)據(jù)比任何其他形式的獲取方式更好,大量視覺信息在潛意識(shí)階段就被處理完成,人類對(duì)圖像的處理速度比文本快 6 萬倍。
數(shù)據(jù)可視化正是利用人類天生技能來增強(qiáng)數(shù)據(jù)處理和組織效率。
數(shù)據(jù)共享
數(shù)據(jù)預(yù)警
應(yīng)用部署
六 數(shù)據(jù)治理
過去的十年,我們經(jīng)歷了數(shù)據(jù)量高速膨脹的時(shí)期,這些海量的、分散在不同角落的異構(gòu)數(shù)據(jù)導(dǎo)致了數(shù)據(jù)資源的價(jià)值低、應(yīng)用難度大等問題。如何將海量數(shù)據(jù)應(yīng)用于決策、營(yíng)銷和產(chǎn)品創(chuàng)新?如何利用大數(shù)據(jù)平臺(tái)優(yōu)化產(chǎn)品、流程和服務(wù)?如何利用大數(shù)據(jù)更科學(xué)地制定公共政策、實(shí)現(xiàn)社會(huì)治理?所有這一切,都離不開大數(shù)據(jù)治理??梢哉f,在大數(shù)據(jù)戰(zhàn)略從頂層設(shè)計(jì)到底層實(shí)現(xiàn)的“落地”過程中,治理是基礎(chǔ),技術(shù)是承載,分析是手段,應(yīng)用是目的。這個(gè)時(shí)候數(shù)據(jù)治理體系建設(shè)可能不是一個(gè)選擇,而是唯一的出路。
數(shù)據(jù)治理相關(guān)概念
元數(shù)據(jù)管理
元數(shù)據(jù) MetaData 狹義的解釋是用來描述數(shù)據(jù)的數(shù)據(jù),廣義的來看,除了業(yè)務(wù)邏輯直接讀寫處理的那些業(yè)務(wù)數(shù)據(jù),所有其它用來維持整個(gè)系統(tǒng)運(yùn)轉(zhuǎn)所需的信息/數(shù)據(jù)都可以叫作元數(shù)據(jù)。比如數(shù)據(jù)表格的 Schema 信息,任務(wù)的血緣關(guān)系,用戶和腳本/任務(wù)的權(quán)限映射關(guān)系信息等等。
管理這些附加 MetaData 信息的目的,一方面是為了讓用戶能夠更高效的挖掘和使用數(shù)據(jù),另一方面是為了讓平臺(tái)管理人員能更加有效的做好系統(tǒng)的維護(hù)管理工作。
數(shù)據(jù)質(zhì)量
數(shù)據(jù)安全
沒有安全做保障,一切大數(shù)據(jù)應(yīng)用都是空談。數(shù)據(jù)業(yè)務(wù)未來最大的挑戰(zhàn)就是如何安全落地。特別是隨著一些列數(shù)據(jù)安全的問題發(fā)生,對(duì)大數(shù)據(jù)的保護(hù)成為全球關(guān)注的熱點(diǎn)。各個(gè)企業(yè)特別是掌握了海量用戶信息的大型企業(yè),有責(zé)任也有義務(wù)去保護(hù)數(shù)據(jù)的安全。
責(zé)任編輯:陳近梅