跳至主要內容

什麼是資料湖倉?

資料湖倉是一種資料管理系統,可大規模提供符合成本效益、彈性的儲存空間,同時還提供資料結構化、治理和報告等分析功能。該系統可讓您透過更具成本效益的方式,以各種格式將來自數千甚至數十萬個來源的原始資料儲存在中央位置。分析工具可進一步使用這些資料,以訓練 AI 模型並產生報告和儀表板。資料湖倉提供許多功能,能夠讓您處理資料湖倉內的原始資料以供進一步分析。

資料湖、資料倉儲和資料湖倉之間有什麼區別?

資料湖倉架構結合了資料倉儲和資料湖這兩種傳統集中式資料儲存區的優勢。

資料倉儲

資料倉儲是根據標準資料結構描述來儲存結構化資料的資料儲存系統。結構描述是預先定義的藍圖,可決定關聯式資料庫中資訊的資料格式、關係和結構。

組織會使用資料倉儲系統快速存取資料處理、商業智慧分析和企業報告。資料倉儲可讓非技術使用者存取進階分析工具、強大的資料治理功能,而且易於使用。例如,您可以使用資料倉儲中的儀表板擷取行銷績效報告。

但是,資料倉儲還在資料生命週期中導入了其他步驟。為了獲得可供分析的見解,資料會在儲存於資料倉儲之前,經過多個擷取、轉換、載入 (ETL) 管線。此外,資料倉儲無法處理非結構化和半結構化資料,而這些資料正好是人工智慧機器學習工作負載所需要的。在資料倉儲架構中,儲存會與運算能力緊密結合,這增加了擴展基礎結構的成本。

資料湖

資料湖是以原始格式保留資料的儲存系統。資料科學家會使用資料湖來儲存結構化、非結構化和半結構化資料。因為資料不通過 ETL 管道,所以將資料儲存在資料湖中所需的時間很短。相對地,原始資料會按原樣儲存。因此,資料湖可以高速儲存大量資訊,包括即時資料串流。

因為資料量十分龐大,所以雲端資料湖是資料探索、機器學習和其他資料科學應用的理想選擇。由於儲存託管的成本低廉,所以資料湖擴展也更加實惠。

與資料倉儲不同,存取儲存在資料湖中的資料會需要技術專業知識,因此能夠存取其中資料的使用者族群較小。這意味著只有熟悉資料科學的使用者才能擷取、操控和分析原始資料以獲得業務見解。此外,未受管的資料湖可能會演變為「資料沼澤」。「資料沼澤」是一種資料雜亂無章的狀態,會讓使用者難以擷取有意義的見解。

資料湖倉

資料湖倉是一個統一的資料架構,結合了資料倉儲和資料湖的優點。其可為各種資料類型提供高效能、經濟實惠且易於管理的儲存空間。

與資料倉儲不同,資料湖倉可以針對機器學習目的,儲存半結構化和非結構化資料。此外,資料湖倉架構包含 SQL 分析工具,可供業務經理用於報告和擷取可行的見解。

資料湖倉有哪些主要功能?

資料湖倉可為組織提供資料管理功能,以建置可擴展、複雜且低延遲的資料處理中心。我們會在下方講解資料湖倉的部分主要功能。

支援多種資料類型和工作負載

資料湖倉可以儲存各種資料類型,包括文字、影像、影片和音訊檔案,而無需額外的轉換步驟或嚴格的結構描述。這可以實現快速的資料擷取作業,確保為連接的應用程式提供新鮮資料。

為因應多樣化的資料,資料湖倉會將原始資料儲存在物件型儲存空間中。物件型儲存空間是針對處理大量非結構化資料而最佳化的資料儲存架構類型。

交易支援

資料湖倉提供資料管理功能,可用於儲存遵循 ACID 標準的交易,該功能與傳統資料庫中的同類功能類似。ACID 代表原子性、一致性、隔離性和耐久性。

  • 原子性會將所有資料交易視為單一單位,這意味著這些交易不是全部成功,就是全部失敗。
  • 一致性是指資料庫在更新特定資料表時發生的可預測行為。每次更新都遵循預先定義的規則,確保資料一致性。
  • 隔離性可讓多個交易在不會互相干擾的情況下進行。即使多個使用者同時更新資料庫,每個作業依然會獨立執行,這意味著一個交易會在下一個交易開始之前結束。
  • 耐久性是指即使系統故障,資料庫仍能保留和儲存變更的能力。

ACID 會共同確保資料完整性,讓軟體團隊能夠建置依賴可靠交易資料儲存功能的應用程式。

串流擷取

資料串流是來自物聯網 (IoT) 裝置、金融交易和應用程式服務等資料來源的連續資訊流。

部分應用程式需要資料串流,才能以近乎即時的速度反映和視覺化資料變更。資料湖倉架構可以擷取資料串流,並將其用於面向使用者的應用程式。此外,資料科學家還能夠基於資料串流建置分析工具,並使用圖表、資料表和圖形來加以視覺化。

零 ETL 整合

零 ETL 是指在移轉資料時略過複雜資料轉換管道的資料流程。資料湖倉基礎結構可實現零 ETL 整合。

通常,組織會在資料倉儲和資料湖上建立其工作負載。這些資料架構需要額外的 ETL 管道來查詢和轉換資料。透過零 ETL 整合,資料科學家可以查詢不同的資料孤島,而無需建立額外資料管道。

當資料湖倉擷取資料時,其會自動將資料轉換為符合業務分析需求的格式。例如,Amazon Redshift 支援與 Amazon Aurora 的零 ETL 整合。Redshift 是一種資料倉儲,而 Aurora 是一種關聯式資料庫管理系統。整合後,Aurora 擷取的資料會在幾秒鐘內自動複寫至 Redshift。如此一來,組織可以維護簡單、符合成本效益的資料基礎結構,同時縮短獲得見解的時間。

統一分析

資料湖倉提供可存取所有已儲存資料的統一資料平台。該平台可以幫助資料架構師克服多個系統之間的資料重複、不一致性和分散情形。

集中分析的另一個關鍵好處,是避免在雲端儲存之間不必要的資料移動。資料團隊不再查詢孤立的資料,而是從連接至資料湖倉的單一介面儲存、分析和共用資料。例如,您可以擷取機器學習工作負載的非結構化資料,並從單一資料副本產生行銷績效報告。

查詢編輯器

資料分析師、機器學習工程師和資料使用者可以使用 SQL 查詢編輯器,輕鬆存取資料湖倉中的資料。他們可以編寫用於資料分析、視覺化、瀏覽歷史資料、建立資料庫結構描述等項目的 SQL 命令。查詢編輯器還能夠讓資料工程師輕鬆共用他們建立的查詢,進而來改善協作效率。

ML/AI 支援

資料湖倉專為建置、測試和擴展人工智慧和機器學習 (AI/ML) 工作負載而設計。除了提供直接存取非結構化資料的功能外,許多資料湖倉供應商還提供可簡化 AI 開發的機器學習程式庫、工具和分析。

例如,Amazon SageMaker 資料湖倉與 Amazon SageMaker Unified Studio 順暢整合,可讓使用者存取工具和分析,以加速 AI/ML 工作流程。

資料湖倉如何運作?

資料湖倉結合了資料倉儲的進階分析功能與資料湖的靈活性,提供可擴展、經濟實惠且功能強大的資料平台。組織不再維護獨立的資料湖和資料倉儲基礎結構,而是選擇資料湖倉以更快地獲得業務見解。

資料湖倉會從各種資源中擷取資料、在內部加以整理,並以不同格式將資料提供給各種資料使用者。此外,資料湖倉的運算與儲存功能相互分離。在儲存和運算各自獨立的情況下,您將能個別擴展這些功能,以最大限度地節省成本。

我們會在下方講解構成資料湖倉的資料層。

擷取層

擷取層會將資料湖倉連接至各種類型的資料來源,包括應用程式日誌、資料庫和社交媒體摘要。在此層中,資料會以原始格式保存。

儲存層

儲存層會接收傳入的原始資料,並將其儲存在低成本、可擴展的儲存空間中。在資料湖倉架構中,此層通常會連結至雲端物件儲存空間。物件儲存空間支援多種類型的資料,包括結構化、半結構化和非結構化資料。

根據使用案例的不同,部分資料會在儲存於物件儲存空間後經過轉換。例如,如果您想使用擷取的資料來訓練機器學習模型,則資料湖倉將以 Parquet 格式轉換並儲存資料。Parquet 是一種開放的檔案格式,旨在透過將結構化資料分隔成資料欄來有效地儲存和處理結構化資料。

暫存層

暫存層 (或稱中繼資料層) 可提供結構描述支援,以治理、組織和最佳化儲存在資料湖倉中的資料。此層可讓您定義政策以確保資料品質,並針對合規目的建立稽核軌跡。此外,資料團隊還可以使用 ACID 交易、檔案索引、資料版本控制和快取建立可靠的資料工作流程,該功能與傳統資料倉儲中的同類功能類似。

API 層

應用程式介面 (API) 層可讓軟體開發人員和應用程式查詢儲存在資料湖倉中的資料。API 層提供對資料的細微存取,使用程式設計方式透過資料建立更進階的分析。例如,軟體團隊可以進行 API 呼叫以即時擷取資料串流,進而支援投資應用程式的儀表板。

語義層

語義層是資料湖倉的最頂層。其也稱為資料取用層,包含可用於存取所儲存資料和結構描述的資料分析工具和應用程式。企業使用者可以借助在此層中找到的工具,產生報告、建立圖表、查詢見解以及執行其他資料分析。

AWS 如何支援您的資料湖倉需求?

Amazon SageMaker 資料湖倉是一種資料湖倉,可供組織用於處理 EB 規模的資料,以獲得業務見解並為 AI 工作負載提供支援。Amazon SageMaker 資料湖倉與 AWS 資料儲存、分析和機器學習服務深度整合,可協助您:

  • 就地存取資料,以進行近乎即時的分析
  • 在單一資料中心上建置人工智慧和機器學習模型
  • 安全地存取、合併和共用資料,同時將資料移動或複製的次數降到最低

Amazon SageMaker 資料湖倉的架構能夠將運算與儲存相互分離,以實現高效率擴展,可提供比其他雲端資料湖倉更佳的性價比。

Amazon SageMaker 資料湖倉與 AWS 資料倉儲和資料湖整合:

  • Amazon Redshift 是一種資料倉儲解決方案,可透過 SQL 在大規模情境下為資料湖倉提供無與倫比的性價比
  • Amazon S3 是專為從任何位置擷取任何資料量所建立的資料湖物件儲存空間

立即建立免費帳戶,開始在 AWS 上使用資料湖倉。