數據湖:下一代企業數據倉庫

時過境遷,曾經如日中天的數據倉庫現在怎麼樣了?是大勢不減還是已經奄奄一息、苟延殘喘?如果你對這個問題感到困惑,那也是情有可原的。一方面,數據倉庫的發展勢頭強勁。作爲一個行業的長期觀察者,我目睹了這個行業不斷涌現的創新活動。

這種趨勢是從 10 年前“Applicance Form Factor”成爲數據倉庫主流開始。幾年前,隨着市場轉向新一代的雲數據倉庫,這種勢頭進一步獲得了新的動力。在過去幾年,雲數據倉庫供應商 Snowflake 在市場上備受矚目。

數據倉庫黯然失色

另一方面,數據倉庫的市場份額被其他技術蠶食,比如大數據、機器學習和人工智能。這種趨勢給我們造成了一種印象,即數據倉庫在企業IT中的優先級地位正在下降。但實際上,大多數企業現在仍然至少需要一個(甚至多個)數據倉庫來爲下游的應用程序提供服務。

數據倉庫是企業的核心工作負載,這也就是爲什麼幾年前我就開始思考爲什麼數據倉庫離“死”還很遙遠。或許,這也解釋了爲什麼其他觀察者認爲他們必須重新定義數據倉庫的概念,讓它能夠在數據湖和雲計算時代繼續存在下去。

實際上,數據倉庫不僅在蓬勃發展,而且被認爲是雲計算時代的一個核心的增長前沿。如果你的眼球只盯着像Snowflake這樣的平臺,可能會錯過很多東西。

數據湖的崛起

人們所說的“數據湖”正在迅速演變成爲下一代數據倉庫。數據湖是指一種包含多結構數據的系統或倉庫,這些數據按照各自的格式和模式進行保存,比如大對象、文件等。

數據湖通常被作爲整個企業的存儲中心,包括原數據系統的原始數據和轉化過的用於報表、可視化、分析和機器學習的數據。它們包含了分佈式文件或對象存儲、機器學習模型庫、高度並行化處理集羣和存儲資源。數據庫不強制使用通用的schema和語義,而是在讀取數據時使用schema和統計模型來抽取有意義的模式。

所有這些都不違背Inmon和Kimball有關數據倉庫的核心概念。從根本上說,數據倉庫的存在是爲了聚合、保留和管理“單一版本的事實來源”數據。這個概念與使用數據的特定應用程序或用例無關。

如果你對這個說法存有疑惑,可以看一下有關Bill Inmon對數據倉庫定義的討論(http://www.b-eye-network.com/view/16066),以及Inmon和Ralph Kimball兩個框架之間的比較(https://www.computerweekly.com/tip/Inmon-or-Kimball-Which-approach-is-suitable-for-your-data-warehouse)。數據倉庫是關於基於數據驅動的決策支持,可以擴展到基於人工智能的推理。

下一代數據倉庫

在過去的一年裏,行業裏出現的一些東西表明數據倉庫的角色已經發生了轉變。儘管決策支持仍然是大多數數據倉庫的核心應用場景,但我們也看到了決策自動化正在發生穩步的轉變。換句話說,數據倉庫現在正在爲構建基於數據驅動的推理的機器學習應用程序提供支持。

新一代數據倉庫實際上就是數據湖,其首要設計目標是用來管理用於構建和訓練機器學習模型的數據。例如,在去年秋季的亞馬遜re:Invent大會上,AWS發佈了AWS Lake Formation。這個服務旨在簡化和加快數據湖的構建過程。AWS Lake Formation具備了雲數據倉庫的所有特徵,儘管AWS沒有把它叫做數據倉庫。實際上,該服務提供了一個經典的數據倉庫亞馬遜Redshift,主要面向決策支持應用程序。

AWS Lake Formation的行爲看起來很像是數據倉庫。事實上,AWS對它的描述很容易讓我們將其與數據倉庫做對比:“數據湖是一個集中式的安全數據庫,它存儲所有數據,包括原始數據和轉換過的數據。數據湖可以幫你打破數據孤島,將不同類型的分析結合起來,從中獲得洞見和更好的商業決策指導。

事實上,AWS將AWS Lake Formation描述爲一種用於決策支持和人工智能決策自動化的超級數據倉庫。AWS還特別強調,該服務旨在管理數據,“然後用戶就可以選擇他們的分析和機器學習服務,如Amazon EMR for Spark、Amazon Redshift、Amazon Athena、Amazon SageMaker和Amazon QuickSight”。

值得一提的是,Databricks最近發佈了Delta Lake開源項目。Delta Lake的目標與AWS Lake Formation類似:聚合、清理和管理數據湖中的數據集,以便更好地爲機器學習提供支持。

Delta Lake位於數據中心或雲平臺的數據存儲平臺之上,比如HDFS、Amazon S3或微軟Azure大對象存儲,這些數據存儲都可以被Spark訪問。Delta Lake使用Parquet格式來存儲數據,Databricks將其稱爲“事務存儲層”。Parquet是一種開源的列式存儲格式,Hadoop生態系統中的每一個項目都支持這種格式,不管使用的是哪一種處理框架。它通過樂觀併發序列化、快照隔離、數據版本、回滾和強制schema來支持ACID事務。

Delta Lake和AWS Lake Formation之間的一個關鍵區別是Delta Lake可以支持批次數據和流式數據。另外,Delta Lake支持ACID事務,可以支持數百個應用程序的併發寫入和讀取。開發者還可以訪問早期版本的數據湖,進行審計和回滾,或者重現MLFlow機器學習的結果。

從廣泛的層面來看,Delta Lake似乎要與已經被廣泛採用的Hive展開競爭。Hive極度依賴基於HDFS的存儲,而且直到最近纔開始支持ACID事務。一年前,Hive 3將ACID事務支持帶到了基於Hadoop的數據倉庫上。Hive 3可以爲CRUD操作提供原子性和快照隔離。

基於人工智能驅動的決策自動化基石

行業最近發佈的這些東西——AWS Lake Formation、Delta Lake和Hive 3——預示着數據湖將成爲所有決策支持和決策自動化應用程序和所有事務數據應用程序的治理中心。要加快這種趨勢,Hive 3和Delta Lake等開源項目需要進一步吸引供應商和用戶的眼球。

“數據倉庫”一詞的定義可能會發生變化,主要指用於管理商業智能多結構數據的數據存儲。不過,底層的數據平臺會繼續演化,爲基於雲的人工智能管道提供數據管理基礎。

人工智能,而不是商業智能,正在推動着企業數據倉庫的演變。

英文原文:https://www.infoworld.com/article/3405443/the-data-lake-is-becoming-the-new-data-warehouse.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章