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