自互聯(lián)網進入大數(shù)據(jù)時代后,涌現(xiàn)了非常多的數(shù)據(jù)解決方案。最早火起來的是數(shù)據(jù)庫,后來又是數(shù)據(jù)倉庫、數(shù)據(jù)湖,再再后來是數(shù)據(jù)中臺,現(xiàn)在數(shù)據(jù)湖又火起來了。站在數(shù)據(jù)時代的當前風口,各大云廠商如亞馬遜Amazon、阿里、微軟都在紛紛基于數(shù)據(jù)湖輸出解決方案;
各大互聯(lián)網企業(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ù),包含非結構化數(shù)據(jù)(如傳感器數(shù)據(jù))、結構化數(shù)據(jù)(如關系型數(shù)據(jù)庫Mysql產生的行列數(shù)據(jù))、半結構化數(shù)據(jù)(如XML數(shù)據(jù)、JSON數(shù)據(jù))、二進制數(shù)據(jù)(如音頻視頻);它可以做數(shù)據(jù)生命周期管理,除了存儲原始數(shù)據(jù)外,還可以存儲數(shù)據(jù)處理(比如流處理、批處理)之后的數(shù)據(jù);它可以支持多樣的分析場景,比如數(shù)據(jù)倉庫分析、實時分析、商業(yè)智能分析、機器學習。
數(shù)據(jù)湖、數(shù)據(jù)倉庫、數(shù)據(jù)中臺又有什么區(qū)別呢?從名字上就可以看出一二。所謂數(shù)據(jù)湖,就是存放數(shù)據(jù)的湖,湖水是流動的,能接受其它江河湖海流過來的水,又再流出去,也就是說在數(shù)據(jù)湖中可以存儲一切的數(shù)據(jù),不做任何處理;所謂數(shù)據(jù)倉庫,就是存放數(shù)據(jù)的倉庫,那必然是有要求和目的,也就是說在數(shù)據(jù)倉庫中對數(shù)據(jù)格式有要求,符合標準的數(shù)據(jù)才能入庫,而且建立數(shù)據(jù)倉庫是有目的的,比如面向成本、面向銷售額進行分析;所謂數(shù)據(jù)中臺,一看就是阿里提出的概念相符合的,中臺作為前臺和后臺的一部分,是賦能業(yè)務的,為業(yè)務提供數(shù)據(jù)能力。
那么一個具體的數(shù)據(jù)湖系統(tǒng)是什么樣呢?抽象的來看包括四部分,數(shù)據(jù)存儲層、數(shù)據(jù)加速層、數(shù)據(jù)處理層、數(shù)據(jù)計算層。數(shù)據(jù)湖是以對象塊或文件為單元進行存儲,在數(shù)據(jù)存儲層,云上用戶一般采用S3、OSS對象存儲,本地用戶則使用HDFS進行存儲;在數(shù)據(jù)加速層,主要是把經常用的數(shù)據(jù)拿出來做集中式的存儲,保障用戶快速獲取,也減輕網絡帶寬成本;在數(shù)據(jù)處理層,主要是把數(shù)據(jù)文件封裝成有業(yè)務意義的內容,比如支持ACID(事務原子性、一致性、持久性、隔離性)、支持Schema、支持Snapshot,開源的解決方案有iceberg、Hudi;在數(shù)據(jù)計算層,主要是進行數(shù)據(jù)任務的執(zhí)行,比如Spark、Flink、HIve的批處理流處理等。
(責任編輯:代碼如詩) |