來源:北大青鳥總部 2023年07月27日 11:43
自互聯(lián)網(wǎng)進(jìn)入大數(shù)據(jù)時代后,涌現(xiàn)了非常多的數(shù)據(jù)解決方案。最早火起來的是數(shù)據(jù)庫,后來又是數(shù)據(jù)倉庫、數(shù)據(jù)湖,再再后來是數(shù)據(jù)中臺,現(xiàn)在數(shù)據(jù)湖又火起來了。站在數(shù)據(jù)時代的當(dāng)前風(fēng)口,各大云廠商如亞馬遜Amazon、阿里、微軟都在紛紛基于數(shù)據(jù)湖輸出解決方案;
各大互聯(lián)網(wǎng)企業(yè)也在基于開源數(shù)據(jù)湖、計算引擎等搭建自己的企業(yè)級數(shù)據(jù)湖。那么數(shù)據(jù)湖到底是什么?和數(shù)據(jù)倉庫數(shù)據(jù)中臺又有什么區(qū)別?現(xiàn)有的數(shù)據(jù)湖解決方案又有哪些呢?我們一起來看看~
數(shù)據(jù)湖是一個可以存儲各種各樣原始數(shù)據(jù)的大型數(shù)據(jù)倉庫。它可以存儲任意類型的數(shù)據(jù),包含非結(jié)構(gòu)化數(shù)據(jù)(如傳感器數(shù)據(jù))、結(jié)構(gòu)化數(shù)據(jù)(如關(guān)系型數(shù)據(jù)庫Mysql產(chǎn)生的行列數(shù)據(jù))、半結(jié)構(gòu)化數(shù)據(jù)(如XML數(shù)據(jù)、JSON數(shù)據(jù))、二進(jìn)制數(shù)據(jù)(如音頻視頻);它可以做數(shù)據(jù)生命周期管理,除了存儲原始數(shù)據(jù)外,還可以存儲數(shù)據(jù)處理(比如流處理、批處理)之后的數(shù)據(jù);它可以支持多樣的分析場景,比如數(shù)據(jù)倉庫分析、實時分析、商業(yè)智能分析、機器學(xué)習(xí)。
數(shù)據(jù)湖、數(shù)據(jù)倉庫、數(shù)據(jù)中臺又有什么區(qū)別呢?從名字上就可以看出一二。所謂數(shù)據(jù)湖,就是存放數(shù)據(jù)的湖,湖水是流動的,能接受其它江河湖海流過來的水,又再流出去,也就是說在數(shù)據(jù)湖中可以存儲一切的數(shù)據(jù),不做任何處理;所謂數(shù)據(jù)倉庫,就是存放數(shù)據(jù)的倉庫,那必然是有要求和目的,也就是說在數(shù)據(jù)倉庫中對數(shù)據(jù)格式有要求,符合標(biāo)準(zhǔn)的數(shù)據(jù)才能入庫,而且建立數(shù)據(jù)倉庫是有目的的,比如面向成本、面向銷售額進(jìn)行分析;所謂數(shù)據(jù)中臺,一看就是阿里提出的概念相符合的,中臺作為前臺和后臺的一部分,是賦能業(yè)務(wù)的,為業(yè)務(wù)提供數(shù)據(jù)能力。
那么一個具體的數(shù)據(jù)湖系統(tǒng)是什么樣呢?抽象的來看包括四部分,數(shù)據(jù)存儲層、數(shù)據(jù)加速層、數(shù)據(jù)處理層、數(shù)據(jù)計算層。數(shù)據(jù)湖是以對象塊或文件為單元進(jìn)行存儲,在數(shù)據(jù)存儲層,云上用戶一般采用S3、OSS對象存儲,本地用戶則使用HDFS進(jìn)行存儲;在數(shù)據(jù)加速層,主要是把經(jīng)常用的數(shù)據(jù)拿出來做集中式的存儲,保障用戶快速獲取,也減輕網(wǎng)絡(luò)帶寬成本;在數(shù)據(jù)處理層,主要是把數(shù)據(jù)文件封裝成有業(yè)務(wù)意義的內(nèi)容,比如支持ACID(事務(wù)原子性、一致性、持久性、隔離性)、支持Schema、支持Snapshot,開源的解決方案有iceberg、Hudi;在數(shù)據(jù)計算層,主要是進(jìn)行數(shù)據(jù)任務(wù)的執(zhí)行,比如Spark、Flink、HIve的批處理流處理等。
在數(shù)據(jù)湖的應(yīng)用上,那可就廣了,我們可以基于Kubernetes云原生技術(shù)打造云原生數(shù)據(jù)湖,也可以基于Flink等實時計算引擎打造實時數(shù)據(jù)流水線,更可以基于云計算打造數(shù)據(jù)湖全套解決方案。如何打造一個基于云原生的數(shù)據(jù)湖呢?很簡單,部署Kubernetes在底層做資源資源管控,在Kubernetes的基礎(chǔ)上部署Hadoop集群,使用其提供的HDFS做存儲,在HDFS上集成開源解決方案Iceberg,最后在Iceberg中集成數(shù)據(jù)計算引擎FLink,如此基于云原生的數(shù)據(jù)湖就搭建出來了。
基于Flink的實時數(shù)據(jù)流水線則更是簡單了,業(yè)務(wù)系統(tǒng)產(chǎn)生的數(shù)據(jù)先上傳Kafka消息隊列,再通過實時計算引擎Flink執(zhí)行數(shù)據(jù)清洗,最后導(dǎo)入數(shù)據(jù)湖。如果數(shù)據(jù)還要再次處理,則再運用Flink計算引擎處理,再導(dǎo)入數(shù)據(jù)湖。不止是實時數(shù)據(jù)流水線,更是實時的流批處理統(tǒng)一。
基于云計算的數(shù)據(jù)湖解決方案也非常簡單?;谠茝S商搭建的云對象存儲能力,把數(shù)據(jù)的接入、數(shù)據(jù)資源目錄、數(shù)據(jù)引擎、數(shù)據(jù)集成開發(fā)、數(shù)據(jù)安全管控等的全流程跑通即可,中小型企業(yè)只需要為使用的資源付費。不得不說云計算真是很好的互聯(lián)網(wǎng)模式啊,解決方案免費,資源付費,用多少付多少。
物聯(lián)網(wǎng)、云計算、人工智能、5G技術(shù)的發(fā)展更是帶動了數(shù)據(jù)湖的高速發(fā)展,物聯(lián)網(wǎng)和5G使得數(shù)據(jù)產(chǎn)生的來源和數(shù)據(jù)越來越多,云計算使得存儲變得廉價,人工智能需要更多的數(shù)據(jù)做分析,因此也越來越多的企業(yè)需要數(shù)據(jù)湖解決方案,云廠商也看好了這一風(fēng)口,投入數(shù)據(jù)湖的開發(fā)建設(shè),對于數(shù)據(jù)湖人才的需求也極速增長。站在了風(fēng)口浪尖,豬也能飛起來,趕快抓住數(shù)據(jù)湖這個風(fēng)口,做一只會飛的豬吧~