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