數據湖正在成爲新的數據倉庫

編譯:誠歷,阿里巴巴計算平臺事業部 EMR 技術專家,Apache Sentry PMC,Apache Commons Committer,目前從事開源大數據存儲和優化方面的工做。數據庫

像公有云數據湖和 Delta Lake 這樣的平臺指出了一箇中央數據樞紐的趨勢,用來支持決策和AI驅動的自動化決策。數組

數據倉庫是否再次加入這股浪潮呢,或者會逐漸消亡?安全

若是你不清楚這個問題的答案也很正常。數據倉庫在一方面目前仍處於熱門階段。筆者做爲一個長期的行業觀察者,看到了在不斷創新和創業活動浪潮下行業的快速發展。網絡

這種趨勢基本上始於十年前標準設備進入數據倉庫主流,而後隨着市場向新一代雲數倉轉移逐漸得到了新動力。在過去幾年中,一個雲數倉供應商(Snowflake) 在市場上得到了很是多的支持。架構

數據倉庫的衰落

但在另外一方面,數據倉庫也不斷被行業中的新事物所衝擊,例如大數據、機器學習和人工智能。這種趨勢形成了數據倉庫在企業IT優先級降低的印象,但事實上大多數組織至少有一個或者多個數據倉庫服務於各類下游應用程序。併發

數據倉庫一直做爲企業核心工做服務,是幾年前我以爲數據倉庫遠未消亡的緣由,這也可能解釋了爲何其餘觀察者認爲他們必須從新定義數據倉庫的概念,以使其在數據湖和雲計算時代保持相關性。框架

數據倉庫做爲一種實踐,不只蓬勃發展,並且如今已被視爲雲計算行業的重要核心增加。可是,若是你只是關注以此數據倉庫標籤進入市場的那些平臺(例如Snowflake),你也將錯過這個領域大部分的動做。機器學習

數據湖的興起

許多人認爲「數據湖」正在迅速發展成爲下一代數據倉庫。對於那些不熟悉這個概念的人來講,數據湖是多結構數據的系統或存儲庫,它們以原始格式和模式存儲,一般做爲對象「blob」或文件存儲。分佈式

數據湖一般用做全部企業數據的單個存儲,包括源系統數據的原始副本和用於生成報告,可視化,數據分析和機器學習等任務的轉換數據。它們包含分佈式文件或對象存儲,機器學習模型庫以及高度並行化的處理和存儲資源集羣。而且,數據庫一般在讀取時使用模式,並使用統計模型從中提取有意義的相關性和模式,而不是對它們存儲的對象強制執行通用模式和語義。oop

這些都與Inmon和Kimball核心概念不一致,這些概念爲大多數專業人員的數據倉庫方法提供了信息。從根本上說,一個數據倉庫主要用來聚合,保留和管理官方承認的「單一版本的真實」數據記錄。此概念與所管理數據的特定應用程序域以及使用它的特定用例無關。

若是你懷疑我在那個分數上說的話,請看看Bill Inmon對數據倉庫的定義以及Inmon和Ralph Kimball框架的比較。數據倉庫一般都是關於數據驅動的決策支持,這使得它能夠很好地擴展到AI驅動的推理的新世界。

下一代數據倉庫

在過去的一年中,一些備受矚目的行業公告標誌着數據倉庫角色的轉變。儘管決策支持(也稱爲商業智能,報告和在線分析處理)仍然是大多數數據倉庫的核心用例,但咱們看到了其向決策自動化的穩步轉變。換句話說,數據倉庫如今正支持着數據科學管道,爲數據驅動的推理構建了機器學習應用程序。

新一代數據倉庫其實是數據湖,對那些用於構建和訓練機器學習模型的清洗,整合和驗證的數據進行管理。例如,去年秋天在Amazon re:Invent 大會上,亞馬遜網絡服務公佈了AWS Lake Formation。這種新的託管服務的明確目的是簡化和加速安全數據湖的設置。然而,AWS Lake Formation 擁有云數據倉庫的全部特色,儘管AWS並無這樣稱呼它,實際上已經提供了一個面向決策支持應用程序的經典數據倉庫。

AWS Lake Formation的架構和功能相似於數據倉庫。實際上,AWS以這種方式來描述它:「數據湖是一個集中的,策劃的和安全的存儲庫,它以原始形式存儲全部數據併爲分析作好準備。經過數據湖,您能夠分解數據孤島並組合不一樣類型的分析,以獲商業洞察力並指導更好的業務決策。「

另外一個例子是 Databricks 最近宣佈的 Delta Lake開源項目。 Delta Lake的明確目的(如今能夠在Apache 2.0許可下使用)相似於AWS Lake格式:經過對數據湖中維護的數據集的聚合,清洗,管理和治理,以支持機器學習。

Delta Lake 位於現有的內部部署或雲數據存儲平臺之上,能夠從Apache Spark訪問,例如HDFS,Amazon S3或Microsoft Azure blob存儲。 Delta Lake將數據存儲在Parquet中,以提供Databricks所稱的「事務存儲層」.Parquet是一種開源的列式存儲格式,不管數據處理框架的選擇如何,均可用於Hadoop生態系統中的任何項目。它經過樂觀併發可串行化,快照隔離,數據版本控制,回滾和模式實施來支持ACID事務。

Delta Lake和AWS Lake Formation之間的一個關鍵區別是 Delta Lake 處理該管道中的批量和流數據。另外一個是Delta Lake支持全部數據的ACID事務,容許數百個應用程序同時進行屢次寫入和讀取。此外,開發人員能夠訪問每一個Delta Lake的早期版本,以進行審計,回滾或重現其MLFlow機器學習實驗的結果。

在最普遍的層面上,Delta Lake彷佛與使用最普遍的開源數據倉庫項目 Apache Hive 競爭,儘管 Hive 徹底依賴基於 HDFS 的存儲,而且直到最近才解決對ACID交易的支持。Hive 3一年前被宣佈終於爲基於Hadoop的數據倉庫提供ACID支持。 Hive 3使用delta文件爲事務CRUD(建立讀取更新刪除)表提供操做的原子性和快照隔離。

以AI驅動的決策自動化的基礎

這些最近的行業公告 - AWS Lake Formation,Delta Lake和Hive 3預測是數據湖成爲全部決策支持和決策自動化應用以及全部交易數據應用的治理中心的日子。爲了加速這些趨勢,Hive 3和Delta Lake等開源項目須要在供應商和用戶之間得到更普遍的吸引力。

「數據倉庫」這一術語可能主要指的是商業智能結構化數據的受管理的多域存儲。可是,底層數據平臺將繼續發展,爲基於雲的人工智能管道提供核心數據治理基礎。

AI而非BI正在推進企業數據倉庫的發展。



本文做者:EMR

閱讀原文

本文爲雲棲社區原創內容,未經容許不得轉載。

相關文章
相關標籤/搜索