近幾年才崛起的資料湖倉(Data Lakehouse)是一種新的資料管理架構,其結合了資料倉儲與資料湖的優點,讓企業不管是應用於BI分析還是資料科學,都能夠在單一平台中實現。
資料已成企業的新資產,其潛藏的巨大價值更是企業賴以維持競爭力的關鍵。數十年來,企業試圖從資料中找到企業營運的方向,以擬定合宜的策略。資料倉儲(Data Warehouse)就是常見用來支援商業智慧(BI)的資料架構,其能集中管理並整合來自於各種來源的資料(通常是資料庫),透過分析功能以便讓企業從資料中進行洞察,藉以改善決策。由於資料倉儲的設計目的原就是希望用來分析,因此運算速度是一大關鍵。
資料湖(Data Lake)則是為了因應資料科學(Data Science)的需求,目的也是為了從資料中萃取出價值,甚至用來預測趨勢、提高效率。資料湖架構的崛起與大數據(Big Data)時代來臨,有著非常緊密的關連,面對資料量(Volume)、資料類型(Variety)或是資料傳輸速度(Velocity)急劇增長,資料倉儲難以因應大數據的使用需求,因此可以看到,資料湖的儲存架構特性就是可以納入各式各樣的資料型態,包含結構化、半結構化與非結構化資料。因為資料量過於龐大,基於成本考量,通常會以較低成本的儲存來實現。
而近幾年才崛起的資料湖倉(Data Lakehouse),則是一種新的資料管理架構,鑑於資料倉儲及資料湖在架構上都有些限制,舉例而言,傳統的資料倉儲系統主要是依據關聯式資料庫的寫時模式(Schema on Write)來進行資料處理,這種統一的結構化格式無法滿足現代大數據應用的需求。另一方面,能夠快速載入各種格式和結構資料的資料湖,則面臨了資料的一致性以及品質控制的挑戰。因此,資料湖倉強調的是其結合了資料倉儲與資料湖的優點,讓企業不管是應用於BI分析還是資料科學,都能夠在單一平台中實現。
AWS台灣暨香港專業架構師團隊總監楊仲豪解釋,「資料湖的概念就是讓大家都把所有資料先收集起來,之後才進行分析。」他提到,起初是從檔案開始收集,後來發現資料收集的樣態實在太多樣化,從而發展出了物件儲存,此後包含影像、聲音都可以存放在物件儲存中。然而,進入到人工智慧與機器學習蓬勃發展的時代後,業務單位紛紛希望運用機器學習來尋求更好的競爭力,而且,隨著資料型態更為多元,機器學習還會衍生到圖形分析,甚至其他新型態的發展,例如生成式AI已發展到多模態,在種種驅動因素之下,資料湖倉新架構於焉產生。
了解資料湖倉框架的五個層次
若是深入到框架看,資料湖倉通常都會由若干個不同的層次組成,端看解決方案設計而定,這裡挑選五個層次的框架進行說明,包含擷取層(Ingestion Layer)、儲存層(Storage Layer)、元資料層(Metadata Layer)、API層(API Layer)以及使用層(Consumption Layer)。
擷取層主要負責從各個資料來源擷取資料,並將其傳送到儲存層,部分工具可以從RDBMS和NoSQL資料庫匯入資料,而串流資料可以使用 Apache Kafka 或其他開源工具匯入。接著是儲存層,用以將所有類型的資料保存在成本較為低廉的物件儲存中。
元資料是Data Lakehouse的基礎(Foundation),元資料層主要是提供一個目錄來儲存資料的元數據,並提供追蹤資料起源和資料轉換歷史,此層可以實現資料管理,例如ACID合規性、資料版本控制、快取、索引等。至於API層,顧名思義就是管理資料分析的各種類型的API,同時還託管TensorFlow和Spark MLlib等機器學習的函式庫,這些函式庫可以讀取Parquet等開放文件格式並直接查詢元資料層。
最後是使用層,這一層主要是使用者執行分析活動的地方,有不同的工具和應用程式,例如 Tableau、Power BI等,來存取資料湖中儲存的資料。
台灣戴爾科技集團技術副總經理李百飛指出,資料湖倉雖然才剛在台灣起步,但在國外討論已非常熱烈,原因即是要同時管理維護資料倉儲與資料湖架構並不容易,也漸漸無法因應AI時代下的應用需求,這才催生出新的現代化資料架構平台。「當一門技術發展到一體機解決方案時,代表著其火紅的程度,Dell研發設計的Data Lakehouse專用設備,也是基於實際需求而生。」
概念落地 先行企業採用
短短幾年,資料湖倉概念便已在各個產業中落地,包含電子商務、零售、航空、遊戲、金融產業均已有先行企業採用。根據市場研究公司Propeller Insights調查,有70%的受訪者表示,三年內將有超過一半的分析會在資料湖倉上進行;另外,也有56%的企業認為若移轉到資料湖倉,將可節省五成以上的分析費用。成本效率與易用性是企業採用的主因。
歐洲電子商務巨頭Bol.com就是一典型的案例。隨著資料越來越複雜,且在不同的資料環境中激增,Bol.com選擇部署了BigLake儲存引擎,這項服務能夠統一資料倉儲以及資料湖,簡化使用者存取資料倉儲和資料湖的資料,同時還可以運用細粒度存取控制功能,並加速分布式資料的查詢效能。
Google Cloud台灣技術副總經理林書平指出,資料湖倉強調的是在統一平台上提供分散式資料處理和資料治理功能,因此簡化架構是其優勢之一。其他優勢還包含可提升資料品質、降低成本、提高可靠性、改善資料治理、降低資料重複儲存、多元工作負載以及具備更高擴充性。
依據不同的資料流給予最適資料架構
資料倉儲、資料湖以及資料湖倉三者之間存在著不同的差異。就以資料結構與模式來說,資料倉儲專為具有預先定義架構的結構化資料而設計,資料湖能夠存放各式各樣的原始格式的資料,至於資料湖倉則可以處理結構化與非結構化資料,以提供靈活性,同時合併架構以改善資料管理。
在應用場景方面,資料湖適合探索性分析、發現大型資料集當中的隱藏模式以及支援機器學習等進階分析;資料倉儲則是為商業智慧(BI)和報表而建置,能提供趨勢和見解的歷史數據分析,以支援策略決策;而資料湖倉則能結合所有資料類型的高階分析的優勢,同時為BI目的提供一定程度的資料治理。
HPE慧與科技技術規劃處副總經理范欽輝觀察,台灣企業對Data Lakehouse較感興趣的時間點,大概就是近半年左右。「雖然,不少人認為資料湖倉補足了資料倉儲以及資料湖的不足之處,屆時只需要保留資料湖倉即可,但實務上很難完全取代。」他提到,企業環境中往往充滿了複雜的資料源與資料流,可能來於機器設備、交易系統或外部資料,這些資料透過不同的方法進到系統裡面,最終進入到企業資料架構。有些不需要預處理、清理和轉換的資料就可以存放到資料倉儲,有些則會先進入到資料湖,經擷取、轉換和載入(ETL)後再提供給資料倉儲,「因此,最為可能的應用場景是,依據不同的資料流,而給予不一樣的處理方式。而未來,資料的使用與資料的存放會逐漸脫離開來,資料倉儲與資料湖倉可以在資料的使用層面施力,而資料的儲存還是會以物件儲存為主流。」