
數據倉庫是再度扮演重要角色,還是說(shuō)奄奄一息?
如果你在這個(gè)問(wèn)題上有點(diǎn)困惑,那也情有可原。一方面,數據倉庫無(wú)疑似乎炙手可熱。作為一名長(cháng)期的行業(yè)觀(guān)察人士,我看到這個(gè)行業(yè)創(chuàng )新不斷,創(chuàng )業(yè)活動(dòng)高潮迭起。
這股趨勢實(shí)際上始于十年前一體機(appliance)這種設備進(jìn)入數據倉庫主流,然后隨著(zhù)幾年前市場(chǎng)轉向新一代云數據倉庫,獲得了新的發(fā)展勢頭。過(guò)去這幾年,一家云數據倉庫供應商Snowflake在市場(chǎng)上獲得了異常的關(guān)注。
數據倉庫黯然失色
另一方面,數據倉庫在新的行業(yè)模式面前一次次黯然失色,比如大數據、機器學(xué)習和AI等新模式。這股趨勢加深了這種印象:作為一個(gè)企業(yè)IT優(yōu)先事項,數據倉庫日漸式微,但實(shí)際上大多數企業(yè)組織現在至少有一個(gè)、常常有多個(gè)數據倉庫為各種下游應用提供服務(wù)。
數據倉庫依然是核心的企業(yè)工作負載,這就是為什么幾年前我覺(jué)得我要撰文解釋為什么數據倉庫遠未消亡。這也可以解釋為什么其他觀(guān)察人士認為他們要重新定義數據倉庫概念,好讓數據倉庫在數據湖和云計算盛行的時(shí)代繼續扮演重要角色。
數據倉庫這種實(shí)踐不僅蓬勃發(fā)展,現在還被視為是云計算行業(yè)一個(gè)值得期待的主要增長(cháng)點(diǎn)。然而,如果你一味關(guān)注帶這個(gè)標簽進(jìn)入市場(chǎng)的那些平臺(比如Snowflake),就會(huì )看不到這個(gè)領(lǐng)域的大部分面貌。
數據湖大行其道
許多人所說(shuō)的“數據湖”正迅速發(fā)展成為下一代數據倉庫。有必要向不熟悉這個(gè)概念的人介紹一下,數據湖是多重結構數據的系統或存儲庫,這些數據以自然的格式和模式來(lái)存儲,通常作為對象“blob”或文件。
數據湖通常用作所有企業(yè)數據的單個(gè)存儲區,包括源系統數據和已轉換數據的原始副本,已轉換數據用于報告、可視化、分析和機器學(xué)習等任務(wù)。數據湖包含分布式文件或對象存儲、機器學(xué)習模型庫以及高度并行化的處理和存儲資源集群。此外,數據湖通常在讀取時(shí)執行模式,并使用統計模型從中提取有意義的關(guān)系和模式,而不是對它們存儲的對象執行通用模式和語(yǔ)義。
這一切與為大多數專(zhuān)業(yè)人員采用的數據倉庫方法提供依據的Inmon和Kimball核心概念不一致。從根本上說(shuō),數據倉庫是為了聚合、保留和管理得到官方認可、“單一版本真相”的數據記錄而存在的。這個(gè)概念與所管理數據的特定應用領(lǐng)域和具體的特定使用場(chǎng)合無(wú)關(guān)。
如果你懷疑我在這個(gè)方面的說(shuō)法,不妨看看Bill Inmon對數據倉庫定義的這番討論(http://www.b-eye-network.com/view/16066)以及對Inmon的框架和Ralph Kimball的框架進(jìn)行的這番比較(https://www.computerweekly.com/tip/Inmon-or-Kimball-Which-approach-is-suitable-for-your-data-warehouse)。數據倉庫的關(guān)鍵通常是為決策提供數據驅動(dòng)型支持,因而可以很好地擴展到AI驅動(dòng)型推理這個(gè)新領(lǐng)域。
下一代數據倉庫
在過(guò)去的一年,幾則備受矚目的行業(yè)宣布表明了數據倉庫的角色已發(fā)生轉變。雖然決策支持(又叫商業(yè)智能、報告和聯(lián)機分析處理)仍是大多數數據倉庫的核心使用場(chǎng)合,但我們看到了向決策自動(dòng)化的穩步轉變。換句話(huà)說(shuō),數據倉庫現在支持為數據驅動(dòng)的推理構建機器學(xué)習應用的數據科學(xué)管道。
新一代數據倉庫實(shí)際上是數據湖,首要任務(wù)是用來(lái)治理用于構建和訓練機器學(xué)習模型的清理、整合和認可。比如說(shuō)在去年秋天在亞馬遜re:Invent大會(huì )上,AWS宣布了AWSLake Formation。這種新型托管服務(wù)的明確目的是,簡(jiǎn)化和加快安全數據湖的安裝和配置。然而,AWS Lake Formation擁有云數據倉庫的所有標志,不過(guò)AWS沒(méi)有稱(chēng)之為云數據倉庫,實(shí)際上已經(jīng)提供了一種面向決策支持應用的經(jīng)典數據倉庫Amazon Redshift。
AWS Lake Formation的外觀(guān)和行為都類(lèi)似數據倉庫。的確,AWS這樣來(lái)描述該服務(wù):“數據湖是一種集中的、篩選的且安全的存儲區,它以原始形式和針對分析而做準備的形式來(lái)存儲所有數據。數據湖讓你可以打破數據孤島,結合不同類(lèi)型的分析工具,以獲得洞察力并指導更好的業(yè)務(wù)決策。”
的確,AWS將AWS Lake Formation視作一種用于決策支持和AI驅動(dòng)型決策自動(dòng)化的超級數據倉庫。具體來(lái)說(shuō),這家供應商聲稱(chēng)這項服務(wù)旨在管理“你用戶(hù)可以利用的數據集……用戶(hù)可以選擇用來(lái)管理的分析和機器學(xué)習服務(wù),比如Amazon EMR for Apache Spark、Amazon Redshift、Amazon Athena、Amazon SageMaker和Amazon QuickSight 。”
另一個(gè)典型例子是Databricks最近宣布的Delta Lake開(kāi)源項目。Delta Lake(現在已有采用Apache 2.0許可證的版本)的明確目的類(lèi)似AWS Lake Format:聚合、清理、篩選和管理數據湖中維護的數據集,以支持機器學(xué)習管道。
Delta Lake位于可以從Apache Spark訪(fǎng)問(wèn)的現有內部部署或云數據存儲平臺上,比如HDFS、Amazon S3或微軟Azure blob存儲。Delta Lake以Parquet格式存儲數據,以提供Databricks所謂的“事務(wù)存儲層”。Parquet是一種開(kāi)源列存儲格式,可用于Hadoop生態(tài)系統中的任何項目,無(wú)論選擇哪種數據處理框架。它通過(guò)樂(lè )觀(guān)的并發(fā)串行化、快照隔離、數據版本控制、回滾和模式實(shí)施來(lái)支持ACID事務(wù)。
Delta Lake與AWS Lake Formation的一個(gè)關(guān)鍵區別是,Delta Lake在該管道中既處理批量數據,又處理流數據。另一大區別是,Delta Lake支持所有數據的ACID事務(wù),允許數百個(gè)應用程序同時(shí)進(jìn)行多次寫(xiě)入和讀取。此外,開(kāi)發(fā)人員可以訪(fǎng)問(wèn)每個(gè)Delta Lake的早期版本,以便審計、回滾或者重現MLFlow機器學(xué)習實(shí)驗的結果。
從最廣泛的層面上來(lái)看,DeltaLake似乎與最廣泛采用的開(kāi)源數據倉庫項目Apache Hive競爭,不過(guò)Hive完全依賴(lài)基于HDFS的存儲,就在不久前還缺乏對ACID事務(wù)的支持。一年前宣布的Hive3終于為基于Hadoop的數據倉庫帶來(lái)了ACID支持功能。Hive3使用增量文件(delta file),對針對事務(wù)型CRUD(創(chuàng )建讀取更新刪除)表的操作提供了原子性和快照隔離。
AI驅動(dòng)型決策自動(dòng)化的基礎
AWS Lake Formation、Delta Lake和Hive 3,最近這些行業(yè)宣布預示著(zhù)有一天,數據湖成為所有決策支持和決策自動(dòng)化應用的治理中心,以及所有事務(wù)數據應用的治理中心。要想讓這些趨勢加快發(fā)展,Hive 3和Delta Lake等開(kāi)源項目需要在供應商和用戶(hù)當中獲得更廣泛的支持。
“數據倉庫”這個(gè)術(shù)語(yǔ)可能繼續主要指面向商業(yè)智能(BI)的結構化數據的受管理多領(lǐng)域存儲。然而,底層數據平臺將繼續演進(jìn),為基于云的AI管道提供核心的數據治理基礎。
當下在推動(dòng)企業(yè)數據倉庫發(fā)展的是AI,而不是BI。
原文鏈接:https://www.infoworld.com/article/3405443/the-data-lake-is-becoming-the-new-data-warehouse.html