世界各地的機構都在尋找儲存解決方案,以便管理大數據的磁碟區、延遲時間、彈性和資料存取需求。最初,公司利用現有的技術堆疊,嘗試讓資料湖泊提供與倉儲相同的功能、調整資料倉儲來處理大量的半結構化資料,或是選擇同時在倉儲和湖泊中保留資料。
最終,這些做法導致成本高昂、使用者不滿,且整個公司都是複製資料。Data lakehouse 已成為新的混合型資料架構,希望能夠提供 data warehouse 和 data lake 的所有最佳優點,同時排除這兩個系統的缺點。
Google Cloud 採用低成本儲存空間、無伺服器運算引擎和強大的資料管理服務,提供高度可擴充且安全的雲端原生資料湖倉解決方案。進一步瞭解如何在 Google Cloud 中,建構開放式 data lakehouse。
資料湖倉是一種資料架構,將資料湖泊和資料倉儲相互結合。Data lakehouse 提供機器學習、商業智慧和預測分析功能,可讓機構運用低成本、彈性的儲存空間來儲存所有類型的資料 (結構化、非結構化和半結構化資料),同時提供資料結構和資料管理功能。
Data lakehouse 是一種現代化的資料架構,藉由結合 data lake (原始格式的大型原始資料存放區) 和 data warehouse (有條理的結構化資料集) 的主要優點,打造出單一平台。具體來說,data lakehouse 可讓機構使用低成本的儲存空間儲存大量原始資料,同時提供結構和資料管理功能。
過去,資料倉儲和資料湖泊必須作為分開、獨立架構來實作,以免基礎系統超載,並對相同資源造成爭用情況。公司可使用 data warehouse 儲存商業智慧 (BI) 和報告的結構化資料,並使用 data lake 儲存人工智慧 (AI) 和機器學習 (ML) 工作負載的非結構化和半結構化資料。但若採取這種做法,在需要共同處理任一架構的資料時,必須定期在兩個不同的系統之間進行資料轉換,造成作業複雜、成本提高,以及資料更新間隔、重複和一致性的問題。
資料湖倉的目標是打破資料孤島,並提供彈性、擴充性和靈活性,確保資料能為貴公司創造價值,而非效率低落。
「data lakehouse」一詞結合了兩種現有的資料存放區:data warehouse 和 data lake。那麼,data lakehouse、data lake 與 data warehouse 之間到底有何差異?
資料倉儲可讓您快速存取資料和 SQL 相容性,方便企業使用者產生相關報表和深入分析,進而做出決策。所有資料都必須經過 ETL (擷取、轉換、載入) 階段。這表示,這類工具會根據特定格式或結構定義,在載入前根據應用實例完成最佳化,以便支援高效能查詢和資料完整性。然而,這個做法會限制資料存取權的彈性,且如果日後需要移動資料,就會產生額外費用。
資料湖泊會以原生格式儲存大量非結構化和結構化資料。與資料倉儲不同,系統會在分析期間處理、清理及轉換資料,加快載入速度,因此非常適合用於大數據處理、機器學習或預測分析。然而,要使用資料湖泊必須具備數據資料學專業知識,進而限制了可使用資料的使用者。假如未妥善維護資料湖泊,資料品質可能會隨著時間而降低。此外,由於資料未經過處理,資料湖泊也較難取得即時查詢,因此可能還是需要先清理、處理、擷取和整合資料才能使用。
Data lakehouse 合併了這兩種做法,形成單一架構,方便您存取資料並用於各種不同用途,包括商業智慧 (BI)、資料科學到 AI 及機器學習等。換句話說,data lakehouse 會擷取您機構的所有非結構化、結構化和半結構化資料,並儲存在低成本的儲存空間中,同時讓所有使用者都能按照自己的需求整理及探索資料。
Data lakehouse 的主要特色包括:
在讓 data lakehouse 運作時,請務必思考想透過 data lakehouse 達成的目標。Data lakehouse 旨在集中管理不同的資料來源,並簡化工程作業,讓貴機構的所有使用者都能成為資料使用者。
Data lakehouse 會使用相同的低成本 data lake 雲端物件儲存空間,提供符合需求的儲存空間,以便您輕鬆佈建及調度資源。如同 data lake,data lakehouse 能以原始格式擷取及儲存大量所有資料類型。Lakehouse 在這個儲存庫中整合中繼資料層,提供 warehouse 功能,例如結構化結構定義、ACID 交易支援、資料治理,以及其他資料管理和最佳化功能等。
經過簡化的架構 Data lakehouse 移除了兩個不同平台的資料孤島,讓您專心管理及維護單一資料存放區。工具也可以直接連結至來源資料,這樣您就不必擷取或準備要用於 data warehouse 的資料。 | 資料品質更佳 您可以針對 data lakehouse 架構中的結構化資料和資料完整性,強制執行結構定義,藉此確保一致性。此外,湖倉也縮短取得新資料的時間,藉此確保取得較新的資料。 | 降低費用 在低成本儲存空間中儲存大量資料,無須同時維護 data warehouse 和 data lake。資料湖倉也有助於降低 ETL 程序及清除重複工作的成本。 |
提高穩定性 資料湖倉有助於減少多個系統之間的 ETL 資料移轉,降低在資料遷移時發生品質或技術問題的機率。 | 強化資料治理 資料和資源會與資料湖倉整合在一處,方便您實作、測試及提供管理和安全性控管機制。 | 減少重複資料 不同系統中的資料副本越多,資料就更有可能不一致和較不可信。有了資料湖倉,您就能取得單一資料來源,並與整個企業共用,以便制定決策,避免資料出現不一致的情況,以及因資料重複而產生的額外儲存空間成本。 |
各種工作負載 您可以直接將多項工具連結至 lakehouse,以便支援同一個存放區中的數據分析、SQL、機器學習和數據資料學工作負載。 | 高擴充性 資料湖倉的低成本雲端物件儲存空間,可讓您將運算資源與儲存空間區隔開來,提供近乎無上限且即時的擴充性。您可以根據業務需求,分別調度運算能力和儲存空間的資源。 |
經過簡化的架構
Data lakehouse 移除了兩個不同平台的資料孤島,讓您專心管理及維護單一資料存放區。工具也可以直接連結至來源資料,這樣您就不必擷取或準備要用於 data warehouse 的資料。
資料品質更佳
您可以針對 data lakehouse 架構中的結構化資料和資料完整性,強制執行結構定義,藉此確保一致性。此外,湖倉也縮短取得新資料的時間,藉此確保取得較新的資料。
降低費用
在低成本儲存空間中儲存大量資料,無須同時維護 data warehouse 和 data lake。資料湖倉也有助於降低 ETL 程序及清除重複工作的成本。
提高穩定性
資料湖倉有助於減少多個系統之間的 ETL 資料移轉,降低在資料遷移時發生品質或技術問題的機率。
強化資料治理
資料和資源會與資料湖倉整合在一處,方便您實作、測試及提供管理和安全性控管機制。
減少重複資料
不同系統中的資料副本越多,資料就更有可能不一致和較不可信。有了資料湖倉,您就能取得單一資料來源,並與整個企業共用,以便制定決策,避免資料出現不一致的情況,以及因資料重複而產生的額外儲存空間成本。
各種工作負載
您可以直接將多項工具連結至 lakehouse,以便支援同一個存放區中的數據分析、SQL、機器學習和數據資料學工作負載。
高擴充性
資料湖倉的低成本雲端物件儲存空間,可讓您將運算資源與儲存空間區隔開來,提供近乎無上限且即時的擴充性。您可以根據業務需求,分別調度運算能力和儲存空間的資源。
隨著時間推移,data lakehouse 的概念也不斷演進,機構希望能享有絕佳的資料儲存空間彈性,以及資料處理與數據分析引擎的更多選擇和互通性。此外,要從頭建構 data lakehouse 也相當複雜,而且現在必須與 AI 功能緊密整合。在大部分情況下,您必須選擇立即可用的 data lakehouse 解決方案,或是使用提供所有支援開放式 lakehouse 架構之必要元件的平台,例如 Google Cloud。
Data lakehouse 架構由下列層組成:
Apache Iceberg 提供開放式資料表格式,可直接為儲存在物件儲存空間中的 data lake 提供與 data warehouse 類似的功能,例如 ACID 交易、結構定義演進和時間回溯,進而翻新 lakehouse 架構。企業可以建構高度可擴充、高效且彈性的資料平台,並可在各種數據分析引擎之間互通,避免受限於相同廠商。
Google Cloud 一直以來的做法是為企業提供由 BigLake 驅動的開放式、代管的高效能 data lakehouse。BigLake 是一種整合式儲存引擎,可在 Cloud Storage 中原生導入 Apache Iceberg,讓您直接在 Iceberg 資料上使用所選的開放原始碼引擎。BigLake metastore 可簡化資料管理作業,並與 Dataplex Universal Catalog 整合,提供統一治理機制。您可以套用精細的存取控管機制,以及提高分散資料的查詢效能。
這個做法結合 BigQuery 的儲存和運算能力,是高效能代管 data lakehouse 中樞,可搭配 Iceberg 支援進階數據分析、串流和 AI/機器學習工作負載。BigQuery 不僅與 Google Cloud 生態系統整合,還能讓您使用合作夥伴及開放原始碼技術,將最佳的 lake 與 warehouse 功能整合到單一系統。